繁体   English   中英

当varchar2中的date列数据类型时,从表中选择1st 6个月记录

[英]Select 1st 6 months records from a table when the date columns datatype in varchar2

我想从下面的表格中选择1st 6个月的结果。 问题是月份字段使用'2016 DEC'这种格式存储为字符串(Varchar2)。 我正在使用oracle 12c。

在此处输入图片说明

只需转换为日期:

where to_date(col, 'YYYY-MON') < date '2016-07-01'

或者,如果您希望这种动态变化:

select t.*
from (select t.*, min(to_date(col, 'YYYY-MON')) over () as min_date
      from t
     ) t
where date < add_months(min_date, 6);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM