【发布时间】:2021-04-28 13:07:39
【问题描述】:
我现在有一个大问题,我真的需要你的帮助,因为我找不到正确的答案。 我目前正在编写一个脚本,该脚本触发从包含原始数据(我们从 excel 文件接收的数据)的表到新的规范化架构的迁移过程。
我的问题是有一列 PRICE(varchar2 数据类型)带有一堆 陷阱。例如:540S、25oo、I200、S000。
我需要将其转换为正确的 NUMBER(9,2) 格式,这样我才能得到: 5405, 2500, 1200, 5000 作为前面示例的 NUMBER 和 INSERT INTO my_new_table。
有什么方法可以解析这些字符串中的每个 CHAR 来验证某些条件? 或者其他更好的方法?
谢谢你:)!
【问题讨论】:
-
请解释一下规则。为什么忽略
'S'而将'I'视为'1'? -
我没有忽略S。我犯了一个错误对不起:(。
-
我已经编辑了我的帖子
-
您的输入中能否包含任何其他字符 - 不是数字占位符的字符?我知道
'o'的意思是零;如果数字中间有'h'之类的东西怎么办?您是否希望转换为数字失败,以便您有机会查看该特定数字并决定如何处理它? (或者,更好的是,询问您的用户,以便他们决定如何处理?)