gpt4 book ai didi

sql - 从 oracle 发出查询日期。

转载 作者:行者123 更新时间:2023-12-02 01:37:11 25 4
gpt4 key购买 nike

我知道查询日期会失败,因为它会将字符串与日期进行比较,这可能会导致问题。

甲骨文 11.2G统一码数据库NLS_DATE_FORMAT 日-月-日

select * from table where Q_date='16-Mar-09'; 

可以解决

select * from table where trunc(Q_date) = TO_DATE('16-MAR-09', 'DD-MON-YY');

我不明白为什么会这样。

select* from table where Q_date='07-JAN-08';

如果有人可以详细说明或纠正我的心态。谢谢

最佳答案

Oracle 确实 允许日期文字,但它们取决于安装(特别是 NLS_DATE_FORMAT 的值,如 here 所述)。因此,不存在将单个字符串解释为日期的通用格式(除非您使用 DATE 关键字)。

默认格式是 DD-MM-YY,这似乎是您服务器的格式。所以,你的声明:

where Q_date = '07-JAN-08'

使用这种格式解释。

我更喜欢使用 ISO 标准 YYYY-MM-DD 格式的 DATE 关键字:

where Q_Date = DATE '2008-01-07'

关于sql - 从 oracle 发出查询日期。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30602095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com