2008年4月21日 星期一

MSSQL UNICODE 數值處理

相關參考:SQL Server 線上說明


MSSQL UNICODE 數值處理 資料變數範例

DECLARE @position int, @string varchar(50)

SET @position = 1

SET @string = 'ABC123 一二三abc' --測試字串

print DATALENGTH(@string)

WHILE @position <= DATALENGTH(@string)

BEGIN

SELECT @position 'no.', CONVERT(varchar(50), SUBSTRING(@string, @position, 1)) '字元' ,UNICODE(SUBSTRING(@string, @position, 1)) 'UNICODE數值' ,NCHAR(UNICODE(SUBSTRING(@string, @position, 1))+2) 'UNICODE數值+2字元' ,UNICODE(SUBSTRING(@string, @position, 1))+2 'UNICODE數值+2'

-- 判斷下一字元 是否為 NULL 值, NULL值就不做了

IF SUBSTRING(@string, @position+1, 1) is null

SELECT @position = DATALENGTH(@string) + 1 -- NULL 跳出

ELSE

SELECT @position = @position + 1 -- no+1

END

沒有留言: