是否可以将数字转换为星期几?
我已经尝试了
to_date(1,'DAY')
to_date('1','DAY')
没有运气。
答案 0 :(得分:5)
您可以执行以下操作将数字转换为星期几。请记住,您获得的结果将取决于您的NLS设置(例如,您的星期可能在星期日开始,或者可能在星期一开始,等等):
SELECT TO_CHAR(NEXT_DAY(sysdate, 1), 'Day') FROM dual;
上述内容会将数字转换为星期几的名称(例如Sunday
)。如果您想要约会,只需使用:
SELECT NEXT_DAY(sysdate, 1) FROM dual;
这将返回一周中那天的下一次出现(在我的系统上,例如,它返回下一个星期日)。
答案 1 :(得分:1)
具有讽刺意味的是,这是老式的decode()
很有用的地方:
select decode(<your number>, 1, 'Mon', 2, 'Tue', . . . , 7, 'Sun')
这是将问题解释为返回星期几的星期几。不可否认,代码确实建议你实际上想要一个日期,但这没有意义。
答案 2 :(得分:0)
你可以试试这个:
select level as number,
to_char(level+trunc(sysdate,'D'),'Day') as day
from dual
connect by level <= 7;
NUMBER DAY
--- ------------------------------------
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
7 Sunday