【发布时间】:2017-05-03 19:54:40
【问题描述】:
我有一个 varchar 字段显示为:MON-YYYY。
我需要从字段中提取月份数。 例如:2017 年 4 月。
预期输出:04
当然,因为我们只有 12 个,我可以做一个子字符串和大小写,但尝试使用以下方法一次性完成:
to_char(to_date(Period,'MON YYYY'),'MM') as Month
不断遇到错误 - 在预期非数字的地方发现了数字等。
这里有什么问题?有没有其他更简单的方法可以从 2017 年 4 月获得“04”
【问题讨论】:
-
你这样做是正确的。将您的字符串转换为日期,然后运行 to_char 以获取月份的数值。你的错误来自别的东西。您能否提供有关此问题的代码以及您收到的实际错误?
-
我怀疑您的列中的字符串值不是您期望的格式。