sqlserver數據庫 去除字段中空格,換行符,回車符(使用replace語句)


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM