gpt4 book ai didi

sql - SYSDATE 但指定时间

转载 作者:行者123 更新时间:2023-12-04 14:37:00 27 4
gpt4 key购买 nike

我想说下面的内容,但用 SYSDATE 替换日期,但两者之间的时间是我想要调整的。语法是什么?

SYSDATE+'0001'SYSDATE+'2359' 之间的 mydatefield

...
WHERE TO_CHAR( MOPACTIVITY.MOPNOTIFICATIONSENDAT , 'yyyy-mm-dd hh24:mi' )
BETWEEN '2013-07-26 00:00:01' AND '2013-07-26 23:59:59'
;

最佳答案

Oracle 中的 SYSDATE(或任何其他日期列)具有时间部分。所以你需要去掉它,然后添加小时/分钟/时间条件。

例如。要说当天上午 10:00 到下午 3:00,您可以说

date_column between (trunc(sysdate) + 10/24) and (trunc(sysdate) + 15/24)

Oracle 日期算法在日级别上工作。因此,+1 将给您第二天,1/24 将给您一个小时,而 10/24 将给您当天上午 10:00。

SQL> alter session set nls_date_format = 'DD-Mon-YYYY HH:MI:SS AM';

Session altered.

1 select sysdate,
2 trunc(sysdate),
3 trunc(sysdate) + 10/24,
4 trunc(sysdate) + 15/24
5* from dual
SQL> /

SYSDATE 26-Jul-2013 06:26:07 PM
TRUNC(SYSDATE) 26-Jul-2013 12:00:00 AM
TRUNC(SYSDATE)+10/24 26-Jul-2013 10:00:00 AM
TRUNC(SYSDATE)+15/24 26-Jul-2013 03:00:00 PM

对于你的问题,你似乎对当天和第二天之间感兴趣,所以你可以尝试在去掉时间部分后直接在日期上加上 +1。

date_column >= trunc(sysdate) and 
date_column < trunc(sysdate)+1

关于sql - SYSDATE 但指定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17888247/

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