验证表中的任何无效字符

时间:2014-02-20 19:11:40

标签: sql netezza

有没有办法在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方法。

1 个答案:

答案 0 :(得分:2)

如果您安装了Netezza SQL扩展工具包,则可以使用regex解决此问题。

select sql_functions..regexp_extract('546asdasdÇ','[\x20-\x7E]+')

\x20为起始十六进制代码,\x7E为结尾。请参阅this webpage并进行任何调整。