所以我一直在寻找SO的答案,并且我已经看到一些很棒的SQL函数来帮助尝试从数据库中删除非ascii字符,但是我想先在此处发布整个问题/过程,看看是否可能从db2到sql的选择上游,有一个修复程序。
我正在做什么::将数据从db2数据库导入SQL
问题:非ASCII字符会引起问题
过程:这非常简单。我有一条SQL Insert语句,可以使用开放式查询从db2链接服务器中选择一堆列
insert into [table](stuff) select (stuff) From Openquery(SSF400,'select stuff from table')
但是,在我的SQL数据库中,当编辑着陆表时,我得到了奇怪的结尾字符,它们在sql select语句中显示为空格,但实际上是在SQL编辑模式下的工件:
我尝试使用在SO上找到的一些功能来去除这些字符,但是在使用这些功能后,剩下的是希腊/英语字符的组合,如下所示:
我认为除了使用openquery之外,我还必须有一种更好的方法来进行初始插入,以使垃圾字符不会出现。我非常了解SQL,但是DB2却不是那么多...有什么建议吗?
更新:源系统中似乎确实存在一两个垃圾字符。使用iNavigator发现。另外,源系统正在使用db2 v7r3m0
更新,这是iNavigator中查询中使用的注释中提到的regexp表达式的屏幕截图。尽管删除了几个字符,但仍然保留了一些字符。原始列在左侧,清洗后的列在右侧。
干杯, MD