關於日期處理的 sql語句

2021-06-26 13:17:00 字數 2197 閱讀 2447

select datediff(mm,'2014-10-5',getdate()) -- 0 表示當月

select datediff(mm,'2014-9-5',getdate()) -- 1 表示前1個月

select datediff(mm,'2014-1-5',getdate()) -- 9 表示前9個月

select convert(datetime,convert(char(8),getdate(),120)+'1') -- 取本月第一天 2014-10-01 00:00:00.000

select dateadd(d,-day(getdate()),dateadd(m,1,getdate())) -- 取本月第後一天 2014-10-31 14:10:34.890

select dateadd(d,-day('2014-03-05 10:12:24'),dateadd(m,1,'2014-03-05 10:12:24')) -- 取這個月第後一天 2014-03-31 10:12:24.000

select convert(datetime,convert(char(8),'2014-03-05 10:12:24',120)+'1') -- 取本月第一天 2014-03-01 00:00:00.000

select year('2008-11-2 00:00:00') --年

select month('2008-11-2 00:00:00') --月

select day('2008-11-2 00:00:00') --日

declare @ddate datetime

declare @dstartdate datetime

declare @denddate datetime

set @ddate='2014-03-05 10:12:24'

select @dstartdate=convert(datetime,convert(char(8),@ddate,120)+'1') -- 取本月第一天 2014-03-01 00:00:00.000

select @denddate=dateadd(d,-day(@ddate),dateadd(m,1,@ddate)) -- 取這個月第後一天 2014-03-31 10:12:24.000

select convert(varchar,month(@dstartdate)) + '月' + convert(varchar,day(@dstartdate)) + '日' + '-' +

convert(varchar,month(@denddate)) + '月' + convert(varchar,day(@denddate)) + '日' -- 3月1日-3月31日

select convert(datetime,convert(char(8),getdate(),120)+'1')--這月的第一天

select dateadd(d,-day(getdate()),dateadd(m,1,getdate()))--這月的最後一天

select dateadd(mm,datediff(mm,0,dateadd(month,-1,getdate())),0)--上月第一天

select dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0))--上月最後一天

select dateadd(ss,-1,dateadd(day,1,convert(varchar(15) , getdate(), 102 )))--獲取當天的最後一刻
select dateadd(mm,datediff(mm,0,dateadd(month,-1,getdate())),0)--上月第一天   

select dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0))--上月最後一天

select datediff(dd,getdate(),dateadd(mm,1,getdate())) -- 計算當月共有多少天

select datediff(dd,

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

dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0)) ) + 1  -- 計算上個月共有多少天

sql日期處理

1 日期格式化處理 declare dt datetime set dt getdate 1 短日期格式 yyyy m d select replace convert varchar 10 dt,120 n 0 2 長日期格式 yyyy年mm月dd日 a.方法1 select stuff stuf...

關於sql中日期相關跨年處理

關於sql資料庫裡日期的跨年處理 讀取本週和上週紀錄時,涉及跨年資料要特殊處理 資料庫裡週數儲存 1 52周。按照sql函式取得週數時會出現53的問題。寫入資料庫時要處理州週為53的情況,week 53 則當作下1年處理 nian nian 1 week 1 本週 set datefirst 1 設...

SQL日期處理 短日期

1 獲取當前日期 getdate 2 短日期 convert varchar 10 getdate 23 返回 2010 04 06 3 dateadd day,1,getdate 當前日期加1 日期部分 縮寫yearyy,yyyy quarterqq,q monthmm,m dayofyeardy...