我每天运行满负荷以填充数据库中的表。我发现使用
insert into targettable
select * from sourcetable
将一些可能会在源表中以错误编码输入的值存储在目标表中。例如,一个值如下所示:
ΞΏΞΉΞΊΞΏΞ½ΞΏΞΌΞΏΟΞΉΟΞ±Ξ½Ξ½Ξ·Ο
但是当我执行时:
select * from targettable where name = 'ΞΏΞΉΞΊΞΏΞ½ΞΏΞΌΞΏΟΞΉΟΞ±Ξ½Ξ½Ξ·Ο'
它不返回任何行。
数据库,表和列的排序规则设置为Greek_CI_AI
是否可以在目标表中找到并修复这些值?如果没有,我将如何确保这些值不会插入到我的目标表中。 (可以使用sql语句或SSIS任务)
我认为这将为您返回想要的结果:
select * from targettable
where first_c = CAST( 'ΞΏΞΉΞΊΞΏΞ½ΞΏΞΌΞΏΟΞΉΟΞ±Ξ½Ξ½Ξ·Ο' AS BINARY)