有没有办法在Netezza中查询表中所有列值的给定值。方案是确保在整个表格中都不会出现无效字符。
要忽略的Ascii值是
($i < 32 ) Or ( $i > 32 && $i < 45 )
Or ( $i >= 58 && $i < 65 )
or ( $i > 90 && $i < 122 ) || ( $i > 122 )
能够使用Unix脚本获得结果,但是需要将近30分钟来扫描64列,61000条记录。
建议使用更好的Netezza Sql方法。
答案 0 :(得分:2)
如果您安装了Netezza SQL扩展工具包,则可以使用regex
解决此问题。
select sql_functions..regexp_extract('546asdasdÇ','[\x20-\x7E]+')
以\x20
为起始十六进制代码,\x7E
为结尾。请参阅this webpage并进行任何调整。