標籤:
SQL中可以使用Replace函數來對某個欄位裡的某些字元進行替換操作,文法如下: 文法 REPLACE ( original-string, search-string, replace-string ) 參數 如果有某個參數為 NULL,此函數返回 NULL。 original-string 被搜尋的字串。可為任意長度。 search-string 要搜尋並被 replace-string 替換的字串。該字串的長度不應超過 255 個位元組。如果 search-string 是Null 字元串,則按原樣返回原始字串。 replace-string 該字串用於替換 search-string。可為任意長度。如果 replacement-string 是Null 字元串,則刪除出現的所有 search-string。 例子: UPDATE tableName SET recordName=REPLACE(recordName,‘abc‘,‘ddd‘) 將表tableName中的recordName欄位中的 abc 替換為 ddd 這個函數有一點不足是不支援 text,ntext類型欄位的替換,可以通過下面的語句來實現: update tableName set recordName=replace(cast(recordName as varchar(8000)) ,‘abc‘,‘ddd‘)
2、替換欄位中的分行符號,斷行符號符
1: 斷行符號符
SELECT *, REPLACE(detail, CHAR(13) , ‘<br>‘) AS 顯示替換後的內容 FROM loginfo
2:分行符號
SELECT *, REPLACE(detail, CHAR(10), ‘<br>‘) AS 顯示替換後的內容 FROM loginfo
3:斷行符號分行符號
SELECT *, REPLACE(detail, CHAR(13) + CHAR(10), ‘<br>‘) AS 顯示替換後的內容 FROM loginfo
4:將斷行符號分行符號替換成<BR><BR>
UPDATE loginfo SET detail = REPLACE(detail, CHAR(13) + CHAR(10), ‘<br><br>‘)
注 在 dos \win 系列會出現 斷行符號+分行符號 CHAR(13)+CHAR(10)
在 unix \ linux 是分行符號
轉換隻要把斷行符號符char(13) 去掉就行了
以下sql語句
UPDATE loginfo SET detail = REPLACE(detail, CHAR(13) , ‘‘)
替換 正則 內容
update User_Content set [Address]=substring([Address],1,patindex(‘%<%‘,[Address])-2) where patindex(‘%<%‘,[Address])>2
sqlserver資料庫 去除欄位中空格,分行符號,斷行符號符(使用replace語句)