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...