SQL:查詢、替換字串中的回車、換行、回車換行
阿新 • • 發佈:2018-12-15
今天碰到一個問題,用字串函式SUBSTRING擷取字串,給定的字串資料中包含回車、換行、回車換行,導致擷取失敗。將字串資料中的回車、換行、回車+換行處理之後就可以成功截取了。
1、判斷字串中是否包含回車、換行、回車+換行
回車可以用char((13)標識,如果返回值不等於0 ,說明字串資料中包含回車
declare @string nvarchar(255) = char(13)
select CHARINDEX(@string,SourceString)
from dbname
換行可以用char(10)替換,如果返回值不等於0,說明字串中包含換行。
declare @string nvarchar(255) = char(10) select CHARINDEX(@string,SourceString) from dbname
回車+換行可以標識為char(13) + char(10), 如果返回值不等於0 ,說明字串中包含回車+換行
declare @string nvarchar(255) = char(13) +char(10)
select CHARINDEX(@string,SourceString)
from dbname
2、替換字串中的回車、換行、回車+換行
採用replace函式替換回車
declare @string nvarchar(255) = char(13) select replace(SourceString , @string , '<br>' ) from dbname
採用replace函式替換換行
declare @string nvarchar(255) = char(10)
select replace(SourceString , @string , '<br>' )
from dbname
採用replace替換回車+換行
declare @string nvarchar(255) = char(13) + char(10)
select replace(SourceString , @string , '<br>' )
from dbname