SSIS 2008 - 如何提取unicode字符并留下非unicode字符串

我正在使用SSIS 2008 R2。 我想取一个unicode字符串,提取所有“unicode only”字符,所以我留下了一个“非unicode”字符串。 在我的情况下,它应该主要是控制字符,CR,LF等。 如果没有一英里长的更换顺序,是否有一种简单的方法可以做到这一点?     
已邀请:
不确定这是否是你想要的。 T-SQL中有一个函数unicode,它返回一个字符的unicode整数值。如果您通过“unicode only”表示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
    

要回复问题请先登录注册