【发布时间】:2014-04-14 08:17:45
【问题描述】:
我正在使用 ISNUMERIC 来获取表中的所有非数字行 - 但我得到的只是以下示例 1.437.230,61 或 3.511.980,00。我真的不知道如何将这几行转换为数字!我已经毫无问题地转换了大约 2,5 百万行,但我得到了大约 9000 行不是数字的 - 但如上所示,它们是数字。我试图修剪我的柱子,但没有运气!
【问题讨论】:
我正在使用 ISNUMERIC 来获取表中的所有非数字行 - 但我得到的只是以下示例 1.437.230,61 或 3.511.980,00。我真的不知道如何将这几行转换为数字!我已经毫无问题地转换了大约 2,5 百万行,但我得到了大约 9000 行不是数字的 - 但如上所示,它们是数字。我试图修剪我的柱子,但没有运气!
【问题讨论】:
您应该始终命名您正在使用的 dbms。由于千位分隔符,许多 dbms 在转换正确的数字(例如 1.437.230,61)时遇到问题。所以 isumeric 在这里可以正常工作,但转换函数不行。
使用字符串替换功能在转换之前从字符串中删除千位分隔符。如:
to_number( replace(numstr, '.', '') )
【讨论】: