我在Netezza数据库中有一个名为DART_STG1
的表。该表有一个varchar列。我试图使用下面的SQL将varchar转换为数字,但它总是抛出一个错误。
代码
SELECT DISTINCT TO_NUMBER(M12,'99G99')
FROM DART_STG1
WHERE M12 IS NOT NULL;
引发错误:
错误[HY000]错误:错误的数字输入格式
这个错误是什么意思?
答案 0 :(得分:1)
PDA(Netezza)Conversion functions page提供示例,与Template patterns一起,您可以选择合适的格式。
但是我的数据集出现了同样的错误。我怀疑它是STORE_NUMBER
中值的格式化是Netezza不喜欢的。
答案 1 :(得分:0)
错误:
ERROR [HY000] ERROR: Bad numeric input format
是因为您将信件输入TO_NUMBER
而导致的。你正在喂它99G99
这不是一个数字。
该程序试图通过告诉您数字输入格式不好而告诉您这不是一个数字,因为错误非常明确地说明了。