【问题标题】:Verify any invalid characters in table验证表中的任何无效字符
【发布时间】:2014-03-21 22:55:51
【问题描述】:

有没有办法在 Netezza 的所有列值中查询表中的给定值。场景是确保在我们的整个表格中不应该看到无效字符。

要忽略的ASCII值是

($i < 32 ) Or ( $i > 32 &&  $i < 45 )
 Or ( $i >= 58 &&  $i < 65 ) 
or ( $i > 90 &&  $i < 122 ) || ( $i > 122 ) 

可以使用 Unix 脚本得到结果,但是扫描 64 列,61000 条记录需要将近 30 分钟。

建议使用更好的 Netezza Sql 方法。

【问题讨论】:

    标签: sql netezza


    【解决方案1】:

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

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

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

    【讨论】:

    • 这里有一个good link 供另一个堆栈问题参考
    猜你喜欢
    • 2014-03-09
    • 1970-01-01
    • 2022-01-06
    • 2018-04-12
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    相关资源
    最近更新 更多