这就是我所拥有的:
SELECT * FROM Trans TRANSERE IN(
从Customer中选择CAST(TRIM(FIRSTNAME)AS INT) 其中trim(firstname)在'0'和'9999999999999999'之间 和custid没有 (从地址中选择custid))
在这个firstname列中有数字值,我必须追溯到trans表,其中firstname列中的值是transid的。
收到错误:SELECT失败。 2620:格式或数据包含错误字符
答案 0 :(得分:1)
你的WHERE失败了,因为'0foo'也是如此。
你的Teradata版本是什么?
在TD14中,您可以使用正则表达式:
WHERE regexp_instr(trim(firstname), '^[0-9]+$') > 0
在您需要UDF之前,eIsInteger或eIsBigInt是Ebay UDFs
中的一部分