sql datetime格式處理
-----------------------------------------------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(stuff(convert(char(8),@dt,112),5,0,n'年'),8,0,n'月')+n'日'
--b. 方法2
select datename(year,@dt)+n'年'+datename(month,@dt)+n'月'+datename(day,@dt)+n'日'
--3.長日期格式:yyyy年m月d日
select datename(year,@dt)+n'年'+cast(datepart(month,@dt) as varchar)+n'月'+datename(day,@dt)+n'日'
--4.完整日期+時間格式:yyyy-mm-dd hh:mi:ss:mmm
select convert(char(11),@dt,120)+convert(char(12),@dt,114)
select convert(varchar(8),getdate(),112) ------20090609
------------------------------------------------2、日期推算處理
declare @dt datetime
set @dt=getdate()
declare @number int
set @number=3
--1.指定日期該年的第一天或最後一天
--a. 年的第一天
select convert(char(5),@dt,120)+'1-1'
--b. 年的最後一天
select convert(char(5),@dt,120)+'12-31'
--2.指定日期所在季度的第一天或最後一天
--a. 季度的第一天
select convert(datetime,
convert(char(8),
dateadd(month,
datepart(quarter,@dt)*3-month(@dt)-2,
@dt),
120)+'1')
--b. 季度的最後一天(case判斷法)
select convert(datetime,
convert(char(8),
dateadd(month,
datepart(quarter,@dt)*3-month(@dt),@dt),120)
+case when datepart(quarter,@dt) in(1,4)
then '31'else '30' end)
--c. 季度的最後一天(直接推算法)
select dateadd(day,-1,
convert(char(8),
dateadd(month,
1+datepart(quarter,@dt)*3-month(@dt),
@dt),
120)+'1')
--3.指定日期所在月份的第一天或最後一天
--a. 月的第一天
select convert(datetime,convert(char(8),@dt,120)+'1')
--b. 月的最後一天
select dateadd(day,-1,convert(char(8),dateadd(month,1,@dt),120)+'1')
--c. 月的最後一天(容易使用的錯誤方法)
select dateadd(month,1,dateadd(day,-day(@dt),@dt))
--4.指定日期所在周的任意一天
select dateadd(day,@number-datepart(weekday,@dt),@dt)
--5.指定日期所在周的任意星期幾
--a. 星期天做為一周的第1天
select dateadd(day,@number-(datepart(weekday,@dt)+@@datefirst-1)%7,@dt)
--b. 星期一做為一周的第1天
select dateadd(day,@number-(datepart(weekday,@dt)+@@datefirst-2)%7-1,@dt)
SQL DateTime日期格式 CONVERT
select convert varchar 100 getdate 0 05 16 2006 10 57am select convert varchar 100 getdate 1 05 16 06 select convert varchar 100 getdate 2 06.05.16 se...
SQl datetime相關操作
一 日期格式化處理 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 datetime獲取本週,本月,本年
dateadd wk,datediff wk,0,getdate 1 2dateadd wk,datediff wk,0,getdate 6 34dateadd mm,datediff mm,0,getdate 0 5dateadd ms,3,dateadd mm,datediff m,0,getd...