SQL中可以使用Replace函式來對某個欄位裡的某些字元進行替換操作,語法如下: 語法 REPLACE ( original-string, search-string, replace-string ) 引數 如果有某個引數為 NULL,此函式返回 NULL。 original-string 被搜尋的字串。可為任意長度。 search-string 要搜尋並被 replace-string 替換的字串。該字串的長度不應超過 255 個位元組。如果 search-string 是空字串,則按原樣返回原始字串。 replace-string 該字串用於替換 search-string。可為任意長度。如果 replacement-string 是空字串,則刪除出現的所有 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