我必须将一列转换为日期,然后将该列的月份与当前月份进行比较。
该列如下所示:
Date
0117
0217
0317
..
我知道如何转换它,但无法比较它。
select date,to_date(date, 'mmyy')
from table
where ????
有任何想法吗?
您可以使用to_date()
以下方法将值转换为日期:
select to_date(mmyy, 'MMYY')
from t;
请注意,我重命名了该列mmyy
以阐明它包含的内容。
这将返回该月的第一天。
to_date()
然后可以将 的结果与当前日期进行比较。例如,要匹配月份的第一个日期:
where to_date(mmyy, 'MMYY') = trunc(sysdate)
如果您想匹配当月的所有内容,只需使用适当的比较:
where to_char(to_date(mmyy, 'MMYY'), 'YYYY-MM') = to_char(sysdate, 'YYYY-MM')
或者,更简单地说:
where mmyy = to_char(sysdate, 'MMYY')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句