gpt4 book ai didi

oracle - 将日期类型的当前日期与 Oracle 中的 Varchar 日期列进行比较

转载 作者:行者123 更新时间:2023-12-02 09:50:16 27 4
gpt4 key购买 nike

我有一个 Varchar 日期列,我想选择日期列中的日期与系统中当前日期匹配的所有行。我提出了这个查询,但没有找到任何匹配项,尽管今天是星期四,并且日期列中存储了星期四。我不确定这是否是比较日期数据类型与 varchar 的正确方法。

select * from schedule
where day = (select to_char(sysdate,'day') from dual);

最佳答案

我认为问题来自于 to_char 函数默认是用空格填充的:

SQL> SELECT '.' || to_char(SYSDATE + rownum, 'day') || '.' AS "Day"
2 FROM dual CONNECT BY LEVEL <= 5;

Day
-----------
.friday .
.saturday .
.sunday .
.monday .
.tuesday .

要防止填充,请使用前缀 fm:

SQL> select * from dual where to_char(sysdate, 'fmday')='thursday';

DUMMY
-----
X

另请注意,VARCHAR 比较区分大小写。

关于oracle - 将日期类型的当前日期与 Oracle 中的 Varchar 日期列进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468301/

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