sybase时间函数问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:43:04
sybase数据库中 每周的第一天和每周的最后一天怎么取呢?
在网上看了这样取
DATEADD(Day,1-DATEPART(Weekday,getdate()),getdate());
DATEADD(Day,7-DATEPART(Weekday,getdate()),getdate());
但是不知道为什么 上午和下午运行出来的结果不一样。
每月的第一天和每月的最后一天怎么取呢?

主要是时间在捣鬼,下面把时间去掉了,不过看起来也有点恶

set datefirst 1

select DATEADD(Day,1-DATEPART(Weekday,convert( datetime ,convert(char(10), getdate(), 102),102)),convert( datetime ,convert(char(10), getdate(), 102),102)
)
select DATEADD(Day,7-DATEPART(Weekday,convert( datetime ,convert(char(10), getdate(), 102),102)),convert( datetime ,convert(char(10), getdate(), 102),102)
)

--当月最后一天

declare
@tmpstr varchar(10)
@mm int,
@premm int,
@curmmlastday varchar(10)
begin
select @mm=datepart(month,getdate())--当月
select @premm=datepart(month,dateadd(month,-1,getdate())) --上个月
if (@mm>=1 and @mm<=8)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
else if (@mm>=9 and @mm<=11)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.'+convert(char(2),datepa