oracle日期模糊查询

练习kettle时想要以日期月为单位划分数据集,结果在sql查询时发现匹配不上,语句如下

select d.*,rownum from DSPAGE d where rownum < 50 and UPDATETIME like '2009%'

查询结果为空

查询结果

缩短两位后

select d.*,rownum from DSPAGE d where rownum < 50 and UPDATETIME like '20%'
查询结果

不知什么缘故2位可以查,4位就无法匹配了,但根本原因是这列为DATETIME格式,通过查找资料,可以用以下sql语句进行匹配

select d.*,rownum from DSPAGE d where rownum < 50 and to_char(UPDATETIME,'yyyy-MM-dd HH24:MI:SS') like '%2009%'
查询结果

原理就是将UPDATETIME列先转换为字符串格式再进行模糊查询,需要注意的是,转换时将月份改为两位数,所以匹配9月时应匹配09

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。