我有以下情况:
WHERE ORDER_DATE >= TO_DATE (CURRENT_DATE, 'YYYY-MM-DD')
左侧部分 ( ORDER_DATE
) 存储为 a VARCHAR
,右侧部分为 a DATE
。当我运行代码时,我没有错误;意味着 aVARCHAR
和 a之间的比较DATE
正在工作。我觉得VARCHAR
是转换成 aDATE
然后应用比较运算符;当我有'0000-00-00'
数据时,ORDER_DATE
它会返回格式错误(data exception - invalid value for YYYY format token; Value: '0000-00-00'
)。有人可以证实我的假设是正确的吗?
*是的,我知道我应该存储或转换我VARCHAR
的 a DATE
,然后在两者之间进行比较DATE
,这就是我所做的。但是,我注意到了这个特殊性,我想了解背后的原因!