to_char(sysdate,'Day')
返回当前星期几。我想要的是获得date
最近过去的“星期天”。当然,我们可以进行复杂的查询来完成它。但是有什么我不知道的简单方法吗?
问问题
17443 次
4 回答
8
你可以这样做
SELECT NEXT_DAY(SYSDATE-8, 'SUN') FROM DUAL;
这里
SYSDATE-8
8天前返回&
NEXT_DAY(mydate, 'SUN')
下个星期天返回它
于 2012-10-10T09:28:20.457 回答
0
您可以使用这样简单的查询来做到这一点:
SELECT dt
FROM ( SELECT SYSDATE - LEVEL - 1 dt
FROM DUAL
CONNECT BY LEVEL < 8)
WHERE TO_CHAR ( dt, 'd' ) = 1
于 2012-10-10T09:27:58.807 回答
0
我认为NEXT_DAY(SYSDATE-6, 'SUN')
会奏效。假设今天是星期天,我回去 6 天(即上星期一),所以当我寻找下一个星期天时,我会得到它sysdate
本身。而,next_day(sysdate-8,'SUN')
可用于获取前一周的最后一天。感谢您的努力。
于 2012-10-10T15:18:33.097 回答
0
SELECT dt
FROM ( SELECT to_date('5/23/2014') - LEVEL + 1 dt
FROM DUAL
CONNECT BY LEVEL < 8)
WHERE TO_CHAR ( dt, 'd' ) = 1
我改为LEVEL - 1 dt
让它LEVEL + 1 dt
工作以找到上一个星期天。
于 2014-05-23T18:41:04.993 回答