SQL日期函数,SQL日期格式化

 


 --s、n、h、ww、day、month、year 秒/分/时/周/日/月/年

--1. 转换成时间格式
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)

--2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000

--3. datediff() 时间差。

select datediff(day,'2006-05-16 10:57:47','2006-05-26 11:58:47')  --返回:10

--4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回 10

--5. datename() 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五

--6. day(), month(),year() --可以与datepart对照一下


--获得当月天数
select day(dateadd(mm,1,getdate())-day(getdate())) as 本月天数 ;
select getdate() as 当前日期;
select day(getdate()) as 目前第几天;
select getdate()-day(getdate())  as 上个月最后一天;    -- 减去了当前的天数
select dateadd(mm,1,getdate())-day(getdate()) as 加上一个月; -- 也就是这个月的最后一天
select day(dateadd(mm,1,getdate())-day(getdate())) as 获得当月天数;

--SQL日期函数,SQL日期格式化
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
Select CONVERT(varchar(100), GETDATE(), 3)-- 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)-- 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)-- 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)-- 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)-- 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)-- 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)-- 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)-- 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11)-- 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)-- 060516
Select CONVERT(varchar(100), GETDATE(), 13)-- 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)-- 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20)-- 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21)-- 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22)-- 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23)-- 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24)-- 10:57:47

Select CONVERT(varchar(100), GETDATE(), 25)-- 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100)-- 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101)-- 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102)-- 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103)-- 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104)-- 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105)-- 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106)-- 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107)-- 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108)-- 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109)-- 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110)-- 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111)-- 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112)-- 20060516
Select CONVERT(varchar(100), GETDATE(), 113)-- 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114)-- 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120)-- 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121)-- 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126)-- 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130)-- 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131)-- 18/04/1427 10:57:49:920AM

--较常用的
Select CONVERT(varchar(100), GETDATE(), 8) -- 10:57:46
Select CONVERT(varchar(100), GETDATE(), 24) -- 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108)-- 10:57:49
Select CONVERT(varchar(100), GETDATE(), 12) -- 060516
Select CONVERT(varchar(100), GETDATE(), 23) -- 2006-05-16

 

 

posted @ 2012-04-13 17:44  bdf216  阅读(790)  评论(0编辑  收藏  举报