6、SQL基础整理(日期时间数据类型,转换函数)

日期时间数据类型

*系统常量:

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

原文地址:https://www.cnblogs.com/wleaves/p/4165005.html