注册 登录
编程论坛 SQL Server论坛

世界500强面试 经典题:如何判断两天是否为同一个星期?

aa80879520 发布于 2007-07-24 22:48, 818 次点击
世界500强面试 经典题:如何判断两天是否为同一个星期?
如何判断两天或三天.例2007年1月1日,2007年1月4日,2007年1月6日,给这三个日期给你.你如何判断他们是否在同一个星期内,要求用SQL查询分析器.不允许用到if,不允许用到储存.


6 回复
#2
system322007-07-24 23:22

什么都不允许。。
怎么做。

#3
缘吇弹2007-07-25 15:10

请问:允许上网不?

#4
songyang2012007-07-25 16:17
回复:(aa80879520)世界500强面试 经典题:如何...

有结果麽

[此贴子已经被作者于2007-7-25 16:26:50编辑过]

#5
心中有剑2007-07-26 14:06

可以用case when 吧!哈哈
select case d.weekday1 when '星期一' then '是'
when '星期日' then '是'
else '否' end 是否再同一周
from
(SELECT 1 as Row, datename(weekday, '2007-1-1') weekday1
union
SELECT 2 as row, datename(weekday, '2007-1-4')
union
SELECT 3 as row ,datename(weekday, '2007-1-6') ) d
where row =1


#6
sky_yang_sky2007-07-26 14:18
select datepart(week,'2007/01/01') from tablename
where datepart(week,'2007/01/01')=datepart(week,'2007/01/06')
and datepart(week,'2007/01/06')=(week,'2007/01/01')
當是同一周時就會顯示出為一年中的第幾周,但不是同一周時就沒有顯示。
#7
心中有剑2007-07-26 14:20
select case count(a) when 1 then '是同一周' else '不是同一周' end 是否同一周 from (
select datename(week,'2007-1-1') a union
select datename(week,'2007-1-4') union
select datename(week,'2007-1-5')) d
1