我想写一个sql语句就是说:如果开始时间假设说是(例如:2012-9-10) 是星期一,就用当前个开始时间,如果是星期二

我想写一个sql语句就是说:
如果开始时间假设说是(例如:2012-9-10) 是星期一,就用当前个开始时间,如果是星期二将这个时间增加到下周一,依次类推,周二周三.结束时间,假设今天是周日,就是使用这个时间,如果不是,假设是周一将其增加到当前周的周日,依次类推.
意思就是说,开始时间必须是星期一,结束时间必须周日,的时间计算!
hy_begin 1年前 已收到1个回答 举报

aoyunyan 幼苗

共回答了25个问题采纳率:84% 举报

select case to_char(my_date,’D’) when 2 then my_date else my_date+(9-to_char(my_date,’D’)) end as startdate,
case to_char(my_date,’D’) when 1 then my_date else my_date+(8-to_char(my_date,’D’)) end as enddate
from my_table

2表示星期一;1表示星期日

1年前 追问

3

hy_begin 举报

不好意思,你能写一下sql server的语句吗? orcle语法和sql server有点区别! 麻烦了。解释下思想也可以,就是算法。谢谢了

举报 aoyunyan

其实很简单,就是先读出你的这个日子属于这个礼拜的哪一天,然后计算,如果是星期二返回的是3,那么你这个日期加上(9-3)就是下一周的周一了

hy_begin 举报

嗯,好的,谢谢了,有点明白了。刚学sql server,呵呵!
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.025 s. - webmaster@yulucn.com