0
我正在使用SSIS 2008 R2。SSIS 2008 - 如何提取unicode字符並留下非Unicode字符串
我想採取一個unicode字符串,提取所有「unicode only」字符,所以我留下了一個「非unicode」字符串。
在我的情況下,應該主要是控制字符,CR,LF等等等等
是否有一個簡單的方法來做到這一點無需更換序列一英里長?
我正在使用SSIS 2008 R2。SSIS 2008 - 如何提取unicode字符並留下非Unicode字符串
我想採取一個unicode字符串,提取所有「unicode only」字符,所以我留下了一個「非unicode」字符串。
在我的情況下,應該主要是控制字符,CR,LF等等等等
是否有一個簡單的方法來做到這一點無需更換序列一英里長?
不知道這是你想要的。在T-SQL中有一個函數unicode,它返回一個字符的unicode整數值。如果通過「僅限unicode」表示unicode整數值大於255的字符,則可以使用此代碼獲取沒有「unicode」字符的字符串。
declare @str nvarchar(5)
declare @str2 nvarchar(5)
set @str = 'A'+nchar(300)+'B'+nchar(400)+'C'
set @str2 = ''
;with cte as
(
select
left(@str, 1) as val,
stuff(@str, 1, 1, '') as rest
union all
select
left(rest, 1) as val,
stuff(rest, 1, 1, '') as rest
from cte
where len(rest) > 0
)
select @str2 = @str2 + val
from cte
where unicode(val) < 256
print @str
print @str2
結果
AĬBƐC
ABC