㈠ sql資料庫delete刪除的欄位如果為空字元串怎麼刪除
假設表有4個欄位為FIELD1-FIELD4
只有有一個欄位為空就刪除
DELETE
BIAO
WHERE
FIELD1
IS
NULL
OR
FIELD2
IS
NULL
OR
FIELD3
IS
NULL
OR
FIELD4
IS
NULL
所有欄位為空才刪除:
DELETE
BIAO
WHERE
FIELD1
IS
NULL
and
FIELD2
IS
NULL
and
FIELD3
IS
NULL
and
FIELD4
IS
NULL
第二個問題,看不出您的日期欄位格式是什麼格式,也沒看清您想要什麼樣的結果,相距的時間是什麼?是天,還是月,還是年?
假設您的日期欄位是DATETIME類型,我列舉了您需求的多種情況:
--如果是要幾年或幾天或幾個月,下面三行分別得到總年數或總月數或總天數(如果是一年就會得到365或366)
select
datediff(year,注冊時間,getdate())--總年數(整數)
select
datediff(month,注冊時間,getdate())--總月數(整數)
select
datediff(day,注冊時間,getdate())--總天數(整數)
--如果是要得到幾年和幾個月和幾天的組合結果(與上面的總數結果不同,這里日不會過31,月不會過12,年月日結果是進位關系),按下面的方法得到.
select
cast(datename(year,getdate()-注冊時間)-1900
as
varchar)+'年'
+cast(datename(month,getdate()-注冊時間)-1
as
varchar)+'個月'
+cast(datename(day,getdate()-注冊時間)-1
as
varchar)+'日'
注意:上面兩例中,注冊時間是您的欄位名,GETDATE()是求出的當前日期和時間,如果是別的什麼時間欄位,如最後登錄時間,直接用登錄時間替換GETDATE()就行了.
=====================
sql
server中的空值就是這樣的(NULL),您說的,應該即不是空值,也不是零長度的字元串,也不是數值零.
所以,當不是空值時,您必須要告訴我們欄位是什麼類型的.
如果您的欄位是VARCHAR,NVARCHAR或CHAR類型的,
那麼可能就有三種情況,
1.是空格.
2.是零長度字串.
3.是不可顯示的亂字元.
但無論哪一種情況情況,只要是字元型的,用您的語句都不會報錯,就是這一句:
delete
biao
where
field1=''
除非欄位或表名有錯誤.
建議:
如果是字元型欄位(VARCHAR,NVARCHAR或CHAR類型等)
delete
biao
where
RTRIM(field1)=''
如果是數值型欄位(INT,FLOAT,DECIMAL等類型,甚至日期型)都可以用下面的語句刪除0值.
delete
biao
where
RTRIM(field1)=0
就是說:
如果不是空值(NULL),就必須要知道欄位是什麼類型才能確定語法格式.
====================
==============================
最後提醒您,我費了好長時間回答您的問題,為了使用我們下次還有這么大的積極性,最少要加到200分才行啊!
㈡ sql server 2005如何去空格
有二種方法來解決此問題
1.sql
trim()函數去掉兩頭空格
sql語法中沒有直接去除兩頭空格的函數,但有ltrim()去除左空格rtrim()去除右空格。
合起來用就是sql的trim()函數,即select
ltrim(rtrim(UsrName))
from
table
2.replace
用替換的方式進行處理,只要找到空格就替換
REPLACE用第三個表達式替換第一個字元串表達式中出現的所有第二個給定字元串表達式,示例如下:select
replace(UserName,'
','')
from
table
㈢ SQL表中怎麼去掉一個欄位中的空字元
用REPLACE函數來替換。
SQL欄位中的空字元有2種,空格符和tab製表符(即char(9))。
例:去除 表table 中 col 列的空字元
去除空格符:update table set col = REPLACE(col,' ','')
去除製表符:update table set col = REPLACE(col,CHAR(9),'')
㈣ 如何在SQL 中去特殊空格字元
特殊空格,是什麼意思?是不是換行符、回車符,之類的。
不管是什麼,用 replace( 'abc d', ' ', '') 函數,都可以去掉。
說明:第2個參數,換成你說的特殊空格
㈤ 怎麼去掉sql中所有的空格字元
replace(string,『 』,『』)
將空格全部替換成空就行了
㈥ sql語句 怎麼去掉一個欄位里值的空格 如name=『阿斯 』
思路大概是這樣:
實用ltrim或者rtrim函數去掉左邊或右邊符合條件的字元。
如果是oracle環境,看你這里都是字母在前數字在後的格式,假設舊列叫 col_old,新的字母列是col_str,新的數字列是col_num
update table1 set
col_str=rtrim(col_old,'1234567890'),
col_num=to_number(ltrim(col_old,rtrim(col_old,'1234567890')))
sql server 有沒有這個函數不知道了,反正這是一個思路吧。供參考而已
sql沒有這個東西,那我就給你提個思路吧,語句你自己寫了,我沒有環境。
用ASCII碼和sql的ltrim和rtrim來做,你需要循環找到從左起每個字元都是ASCII>=65(9以上即字母)的,直到找到ASCII<=64的就結束,這樣可以把這個字元部分的長度得到,在用trim函數截取一下就可以了。
㈦ sql去掉空格
replace( strSource, strFind, strReplaceAs )
strSource: 源字元串, 如:張 三。
strFind: 要被替換的字元, 如: 空格。
strReplaceAS: 替換成什麼字元, 如: 長度為0的字元串。
select replace( '張 三', ' ', '') 即可~
㈧ MSSQL 如何去掉資料庫中字元串里的空格
MSSQL 如何去掉資料庫中字元串里的空格?
例如:姓名,表格中習慣兩個字的經常中間加入1-2個空格,
在MSSQL數據中用下面的語句,清除姓名中的空格:
UPDATE ERPUser SET truename = REPLACE(truename, ' ', '')
這個語句是替換一個空格為空。如果有的名字有幾個空格呢,就多執行幾遍,直到都替換完成。
去掉空格還有許多其他的語句,廣泛學習,利用好,就會產生事半功倍的效果。
例如:
SQL 中使用 ltrim()去除左邊空格 ,rtrim()去除右邊空格 ,沒有同時去除左右空格的函數,要去除所有空格可以用replace(字元串,' ',''),將字元串里的空格替換為空 。 例:去除空格函數。
declare @temp char(50)
set @temp = ' hello sql '
print ltrim(@temp) --去除左邊空格
print rtrim(@temp) --去除右邊空格
print replace(@temp,' ','') --去除字元串里所有空格
print @temp
>> 輸出結果
hello sql
hello sql
hellosql
hello sql
其他資料庫也有各自的語句:Oracle中TRIM(character_expression)等。
其他語句手機號碼的問題,和空格無關:
如何decimal 或float型轉化為varchar型:需要用到轉換
UPDATE ERPUser SET Serils = CONVERT(varchar(20), CONVERT(decimal(18, 0), mob))
如果不轉換,結果是科學計數法了。