比较甲骨文中的日期时间



我有一个命令如下:

to_char(to_date('req_date','yyyy/mm/dd'),'yyyymmdd) > '20140401'; is success

但是当我将年份从 2014 年更改为 2015 年之后,有一个错误格式字符串。如下

to_char(to_date('req_date','yyyy/mm/dd'),'yyyymmdd) > '20150401';

我不知道这是错误。让我们为我修复。谢谢大家

to_char(to_date('req_date','yyyy/mm/dd'),'yyyymmdd)> '20140401';

  1. 'req_date'不是日期,而是字符串。您不需要单引号,请按原样使用日期列。

  2. 切勿在 DATE 上使用 TO_DATE,它会将其隐式转换为字符串,然后使用特定于区域设置的 NLS 格式返回日期。在这里看到我的答案 https://stackoverflow.com/a/29559609/3989608

  3. 最重要的是,您正在比较两个字符串。您需要比较日期s。您需要保留日期,因为它是用于日期计算的。TO_CHAR用于显示,TO_DATE用于将字符串文本转换为 DATE。

因此,您需要将日期比较为:

req_date > to_date('20140401','YYYYMMDD')

相关内容

  • 没有找到相关文章

最新更新