你的位置:首页 > 数据库

[数据库]Sql时间函数


一、sql server日期时间函数 
Sql Server中的日期与时间函数  
1.  当前系统日期、时间  
 select getdate()   
 
2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值 
   例如:向日期加上2天  
 select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000  
 
3. datediff 返回跨两个指定日期的日期和时间边界数。 
 select datediff(day,'2004-09-01','2004-09-18')   --返回:17 
 
4. datepart 返回代表指定日期的指定日期部分的整数。 
 select DATEPART(month, '2004-10-15')  --返回 10 
 
5. datename 返回代表指定日期的指定日期部分的字符串 
 select datename(weekday, '2004-10-15')  --返回:星期五 
 
6. day(), month(),year() --可以与datepart对照一下 
 
select 当前日期=convert(varchar(10),getdate(),120)  
,当前时间=convert(varchar(8),getdate(),114)  
 
select datename(dw,'2004-10-15')  
 
select 本年第多少周=datename(week,'2004-10-15') 
      ,今天是周几=datename(weekday,'2004-10-15')

二、日期格式转换 
    select CONVERT(varchar, getdate(), 120 ) 
 2004-09-12 11:06:08 
 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 
 20040912110608 
 
 select CONVERT(varchar(12) , getdate(), 111 ) 
 2004/09/12 
 
 select CONVERT(varchar(12) , getdate(), 112 ) 
 20040912 
 
 select CONVERT(varchar(12) , getdate(), 102 ) 
 2004.09.12 
 
 其它我不常用的日期格式转换方法: 
 
 select CONVERT(varchar(12) , getdate(), 101 ) 
 09/12/2004 
 
 select CONVERT(varchar(12) , getdate(), 103 ) 
 12/09/2004 
 
 select CONVERT(varchar(12) , getdate(), 104 ) 
 12.09.2004 
 
 select CONVERT(varchar(12) , getdate(), 105 ) 
 12-09-2004 
 
 select CONVERT(varchar(12) , getdate(), 106 ) 
 12 09 2004 
 
 select CONVERT(varchar(12) , getdate(), 107 ) 
 09 12, 2004 
 
 select CONVERT(varchar(12) , getdate(), 108 ) 
 11:06:08 
 
 select CONVERT(varchar(12) , getdate(), 109 ) 
 09 12 2004 1 
 
 select CONVERT(varchar(12) , getdate(), 110 ) 
 09-12-2004 
 
 select CONVERT(varchar(12) , getdate(), 113 ) 
 12 09 2004 1 
 
 select CONVERT(varchar(12) , getdate(), 114 ) 
 11:06:08.177