sql日期時間

2022-03-02 14:11:57 字數 3512 閱讀 8503

1、sybase:

//周五至周四

//select convert(varchar(10),dateadd(day,-1-datepart(weekday,getdate()),getdate()),111);

//select convert(varchar(10),dateadd(day,5-datepart(weekday,getdate()),getdate()),111);

//上個月第一天   上個月最後一天

select dateadd(mm,datediff(mm,'1900-1-1',dateadd(mm,-1,getdate())),'1900-1-1');

select dateadd(ms,-3,dateadd(mm,datediff(mm,'1900-1-1',getdate()),'1900-1-1'));

//上星期第一天

//select dateadd(mm,datediff(mm,'1900-1-1',dateadd(mm,-1,getdate())),'1900-1-1');

//上星期最後一天

//select dateadd(ms,-3,dateadd(mm,datediff(mm,'1900-1-1',getdate()),'1900-1-1'));

//201003

select convert(varchar(6),dateadd(mm,-1,getdate()),112);

//得到當天日期 2011/11/24

select convert(char(10),getdate(),111);   select getdate()  //當前時間

其他:2、mssql

--當月第一天

--select dateadd(mm, datediff(mm,0,getdate()), 0)

--當月最後一天   (下個月第一天減去3毫秒)

--select dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0))

-- 上月第一天

--select dateadd(mm,datediff(mm,0,getdate())-1,0)

--select dateadd(mm,datediff(mm,0,dateadd(mm,-1,getdate())),0)

-- 上月最後一天  (當月第一天減去3毫秒)

--select dateadd(ms,-3,dateadd(mm, datediff(mm,0,getdate()), 0))

//上個月第一天   上個月最後一天

select dateadd(mm,datediff(mm,'1900-1-1',dateadd(mm,-1,getdate())),'1900-1-1');

select dateadd(ms,-3,dateadd(mm,datediff(mm,'1900-1-1',getdate()),'1900-1-1'));

---獲取201002類似日期

--select convert(varchar(6),dateadd(mm,-1,getdate()),112)

--求上個月天數  (當月第一天-上月第一天)

--select convert(int,datediff(day, dateadd(mm,datediff(mm,0,dateadd(mm,-1,getdate())),0),dateadd(mm, datediff(mm,0,getdate()), 0)))

--求上個月是幾月

--select datepart(mm,getdate())-1

--select datepart(month,dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar(8),getdate(),112))))

--周一至週日

--select convert(varchar(10),getdate()-(datepart(weekday,getdate())-2),120)as "第一天(周一)",

--convert(varchar(10),getdate()+(8-datepart(weekday,getdate())),120)as "最後一天(週日)"

--(上一周)周五至周四

select convert(varchar(10),getdate()-(datepart(weekday,getdate())+1),120)as "第一天(周五)",

convert(varchar(10),getdate()+(5-datepart(weekday,getdate())),120)as "最後一天(周四)"

--上上週

select convert(varchar(10),getdate()-(datepart(weekday,getdate())+8),120)as "第一天(周五)",

convert(varchar(10),getdate()+(-2-datepart(weekday,getdate())),120)as "最後一天(周四)"

--年查詢

select dateadd(year,datediff(year,0,getdate()),0) as '所在年的第一天'

--select dateadd(week,datediff(week,-1,getdate()),-1) as '所在星期的星期日'

--或者

select dateadd(week,datediff(week,6,'2011-1-1'),6) as '所在星期的星期日'

---星期六

select dateadd(day,6-(datepart(weekday,'2011-1-1')+@@datefirst-1)%7,'2011-1-1')

---以星期一為周一

declare @mondaytime varchar(10)

declare @sundaytime varchar(10)

if(datepart(weekday,getdate())-2 < 0)

begin

set @mondaytime = convert(varchar(10),dateadd(dd,-1,getdate())-(datepart(weekday,dateadd(dd,-1,getdate()))-2),120)

set @sundaytime = convert(varchar(10),dateadd(dd,-1,getdate())+(8-datepart(weekday,dateadd(dd,-1,getdate()))),120)

endelse

begin

set @mondaytime =convert(varchar(10),getdate()-(datepart(weekday,getdate())-2),120)

set @sundaytime =convert(varchar(10),getdate()+(8-datepart(weekday,getdate())),120)

endselect @mondaytime as '第一天(周一)', @sundaytime as '最後一天(週日)'

其他:

SQL 日期時間函式

日期時間型別的資料也是經常要用到的,比如員工的出生日期 結賬日期 入庫日期等,sql中也提供了一些函式對這些資料進行處理。取得當前日期時間 在系統中經常需要使用當前日期時間進行處理,比如將 入庫時間 字段設定為當前日期時間。mysql中提供了now 函式,用於取得當前的日期時間,now 函式還有sy...

SQL時間相關 SQL日期,時間比較

sql server 中時間比較 例子 select count from table where datediff second 2004 09 18 00 00 18 2004 09 18 00 00 19 0 說明select datediff day,time1 time2 對應示例語句如下...

SQL時間相關 SQL日期,時間比較

sql server 中時間比較 例子 select count from table where datediff second 2004 09 18 00 00 18 2004 09 18 00 00 19 0 說明select datediff day,time1 time2 對應示例語句如下...