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))
如果不轉換,結果是科學計數法了。
『貳』 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中怎麼樣去掉空格
SQL中如果需要去掉空格的話使用LTRIM或RTRIM。LTRIM去掉表達式左邊空格,RTRIM去掉右邊。解決方法如下:
1、首先,去掉字元串str開始處(從左側開始)的空格,可以利用ltrim()函數,l代表left,即為左邊。
『肆』 sql 字元串中有很多個空格字元,怎樣去掉空格,並只保留一個空格
如果你的資料庫不支持正則表達式替換的換的話,只有反復執行你的語句無數次了~
如果支持正則表達式,可以使用正則表達式一次性把\s+替換為空格。
『伍』 如何用SQL語句去掉字元串中的空格
trim(column)
replace(column,'')
『陸』 sql 刪除指定字元串
sql語句刪除指定字元串用replace函數來實現。
工具:sqlserver
2008
方法:
如test表中有如下數據,現在要刪除每句中「不」這個字元串:
可用如下語句:
update test set str=replace(str,'不','');執行後結果:
『柒』 用SQL怎麼把一列所有字元串中包含的空格都刪除呢
用REPLACE函數,把空格替換成 ''。
例:去除 表table 中 col 列的空字元
去除空格符:update table set col = REPLACE(col,' ','')
還有tab製表符(即char(9)),顯示效果類似空格。
去除製表符:update table set col = REPLACE(col,CHAR(9),'')