oracle 对字符型日期的查询逻辑是什么
前提: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 对这里的处理逻辑是怎么来的?
相关推荐
oracle函数分类.rar
Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,其强大的功能之一在于丰富的内置函数。这些函数极大地提高了数据处理和查询的效率。
oracle数据类型.docora复制
本篇文章将深入探讨Oracle数据类型及其重要性。首先,Oracle数据类型大致可以分为四大类:数值型、字符型、日期/时间型和二进制型。
Oracle笔记,主要是关于SQL以及PL/SQL部分
- **Oracle的主要数据类型**: - **字符型**: - `VARCHAR2(n)`:变长的字符型数据,最多`n`个字符。 - `CHAR(n)`:定长的字符型数据,固定`n`个字符。
oracle函数大全(chm格式分类显示)
这些函数有助于处理时间序列数据和执行日期相关的逻辑。4.
oracle笔记
在数据类型方面,Oracle提供了多种数据类型,包括字符型如`CHAR`和`VARCHAR2`,数字型如`NUMBER`,日期类型`DATE`,以及大对象类型如`CLOB`(字符型)和`BLOB`(二进制数据


疑难问题

