将varchar转换为Teradata中的整数

时间:2014-06-25 23:08:02

标签: teradata

这就是我所拥有的:

SELECT * FROM Trans TRANSERE IN(

从Customer中选择CAST(TRIM(FIRSTNAME)AS INT) 其中trim(firstname)在'0'和'9999999999999999'之间 和custid没有 (从地址中选择custid))

在这个firstname列中有数字值,我必须追溯到trans表,其中firstname列中的值是transid的。

收到错误:SELECT失败。 2620:格式或数据包含错误字符

1 个答案:

答案 0 :(得分:1)

你的WHERE失败了,因为'0foo'也是如此。

你的Teradata版本是什么?

在TD14中,您可以使用正则表达式:

WHERE regexp_instr(trim(firstname), '^[0-9]+$') > 0

在您需要UDF之前,eIsInteger或eIsBigInt是Ebay UDFs

中的一部分