日期时间数据类型
*系统常量:
@@DATEFIRST(返回当前时间)
DATEADD
增加时间
语法:DATEADD (datepart , number , date )
select DATEADD(YEAR,2,‘2013-11-2‘)
DATEDIFF
两个日期之间的距离
select DATEDIFF(YEAR,‘2011-7-18‘,‘2014-11-2‘)
DATENAME
返回某个时间值里面想要得到某块类型的数
select DATENAME(YEAR,‘2011-7-8‘)
DATEPART
select DATEPART(second,‘2014-11-2 00:00:01.1234556‘)
(datename返回的是字符串,datepart返回的是int类型)
select DATENAME(weekday,‘2014-11-2‘)
select DATEPART(weekday,‘2014-11-2‘)
DAY
返回日期中的时间是当月的哪一天,返回int值
select DAY(‘2014-11-2‘)
MONTH/YEAR
类似DAY
GETDATE
获取服务器当前时间
select GETDATE()
*GETUTCDATE与GETDATE差不多
ISDATE
是时间格式就返回“1”
select ISDATE(‘2013-2-29‘)
select ISDATE(‘2013-2-28‘)
SYSDATETIME
获取系统时间(精确,但慢)
select GETDATE()
select SYSDATETIME()
类型转换,转换函数
cast,convert,parse
select CAST(123 as varchar(20))
select CONVERT(int,‘123‘)
parse在08版中不能用
练习
---截取生日
select name,substring(cid,7,4)+‘年‘+SUBSTRING(cid,11,2)+‘月‘+SUBSTRING(cid,13,2)+‘日‘ from haha