IBM Netezza,如何使用TO_NUMBER(...,...)将varchar转换为数字

时间:2013-08-28 14:42:30

标签: sql database netezza

我在Netezza数据库中有一个名为DART_STG1的表。该表有一个varchar列。我试图使用下面的SQL将varchar转换为数字,但它总是抛出一个错误。

代码

SELECT DISTINCT TO_NUMBER(M12,'99G99') 
FROM   DART_STG1 
WHERE  M12 IS NOT NULL;

引发错误:

  

错误[HY000]错误:错误的数字输入格式

这个错误是什么意思?

2 个答案:

答案 0 :(得分:1)

PDA(Netezza)Conversion functions page提供示例,与Template patterns一起,您可以选择合适的格式。

但是我的数据集出现了同样的错误。我怀疑它是STORE_NUMBER中值的格式化是Netezza不喜欢的。

答案 1 :(得分:0)

错误:

ERROR [HY000] ERROR: Bad numeric input format 

是因为您将信件输入TO_NUMBER而导致的。你正在喂它99G99这不是一个数字。

该程序试图通过告诉您数字输入格式不好而告诉您这不是一个数字,因为错误非常明确地说明了。