双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

oracle 对字符型日期的查询逻辑是什么

啾一口软糖� 啾一口软糖� 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

前提:A表表字段(简称为B)是字符型,原始数据里面存的是yyyymmdd的这种日期,但也有一下数据的这个字段是存的000000。

用别的表关联A表,得到的字段B里面的数据都是yyyymmdd的数字,对这个字段用to_date也能正常转换。这部分数据能确保没问题,用with C()的形式封装一下

但在最外面一层 用这个语句:select * from C where to_char(to_date(B,'yyyy-mm-dd'),'yyyy-mm-dd') <='2023-01-01'  

就是会报ORA-01861: 文字与格式字符串不匹配。明明我子查询C里面得到的数据都是正常的日期格式,为什么一直提示不对,要先对A表的这个字段有000000  的数用case when 转化为一个正确的日期,我上面这句话才执行得出来。

想了解oracle 对这里的处理逻辑是怎么来的?

 

 

...全文
评论
收藏 已收藏
分享
返回顶部
啾一口软糖�
疑难问题 22,298 成员 121,727 内容