Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSIS 2008-如何提取unicode字符并保留非unicode字符串_Ssis_Sql Server 2008 R2 - Fatal编程技术网

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

SSIS 2008-如何提取unicode字符并保留非unicode字符串,ssis,sql-server-2008-r2,Ssis,Sql Server 2008 R2,我正在使用SSIS 2008 R2 我想要一个unicode字符串,提取所有“仅unicode”字符,这样我就剩下一个“非unicode”字符串 在我的情况下,它应该主要是控制字符,CR,LF等 没有一英里长的替换序列,有没有一种简单的方法可以做到这一点?不确定这是否是您想要的。T-SQL中有一个函数返回字符的unicode整数值。如果“仅限unicode”表示unicode整数值大于255的字符,则可以使用此代码获取不含“unicode”字符的字符串 declare @str nvarchar

我正在使用SSIS 2008 R2

我想要一个unicode字符串,提取所有“仅unicode”字符,这样我就剩下一个“非unicode”字符串

在我的情况下,它应该主要是控制字符,CR,LF等


没有一英里长的替换序列,有没有一种简单的方法可以做到这一点?

不确定这是否是您想要的。T-SQL中有一个函数返回字符的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