一、系统的时间日期函数
1.CURRENT_TIMESTAMP
定义和用法:
返回当前日期和时间,返回类型:datetime
2.DATEADD( )
定义和用法:
函数在日期中添加或减去指定的时间间隔。
语法:D
ATEADD(datepart,number,date)
date 参数是合法的日期表达式。
number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
3.DATEDIFF()
定义和用法:
函数返回两个日期之间的天数。
语法:
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
4.DATENAME()
定义和用法:
从日期中提取指定部分数据,比如我们想得到当前日期中的年份,月份等信息,就可以使用该函数.返回类型是nvarchar
语法:
DATENAME(param,date)
param是指定要返回日期部分的参数
date就是指定的日期
5.DATEPART()
定义和用法:函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
语法:DATEPART(datepart,date)
date 参数是合法的日期表达式。
6.DAY()
定义和用法:
函数返回一个月的第几日
语法:
Day(date)
date 是任何有效的日期。
Month(date) Year(date) 有一样的用法。
7.GETDATE()
定义和用法:
从 SQL Server 返回当前的时间和日期。
8.GETUTCDATE()
定义和用法:
返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的datetime 值。
9.ISDATE()
定义和用法:
函数判断一对象是否为日期,返回布尔值
语法:
ISDATE(expression)
10.Sysdatetime()
定义和用法:
返回包含计算机的日期和时间的 datetime2(7) 值
11.SYSDATETIMEOFFSET()
定义和用法:
返回精度为7的DateTimeOffset 值。
12.SYSUTCDATETIME()
定义和用法:
返回SQL Server 2008新的datetime2数据类型的结果,该数据类型可以精确到100纳秒,当然这取决于服务器安装的硬件。
13.SWITCHOFFSET
定义和用法:
返回从存储的时区偏移量变为指定的新时区偏移量时得到的 datetimeoffset 值。
语法:
SWITCHOFFSET ( DATETIMEOFFSET, time_zone )
DATETIMEOFFSET 是一个可以解析为 datetimeoffset(n) 值的表达式。
time_zone 是一个格式为 [+|-]TZH:TZM 的字符串,或是一个表示时区偏移量的带符号的整数(分钟数),假定它能够感知夏时制并作出相应的调整。
14. TODATETIMEOFFSET()
TODATETIMEOFFSET(datetime, offset):根据输入的日期时间参数值和时区参数值返回一个世界时间值。
二、日期时间的数据类型
SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。
各时间类型范围、精度一览表:
数据类型 时间范围 精度
datetime 1753-01-01到9999-12-31 00:00:00 到 23:59:59.997 3.33毫秒
smalldatetime 1900-01-01 到 2079-06-06 00:00:00 到 23:59:59 分钟
date 0001-01-01 到 9999-12-31 天
time 00:00:00.0000000 到 23:59:59.9999999 100 纳秒
datetime2 0001-01-01 到 9999-12-31 00:00:00 到 23:59:59.9999999 100 纳秒
datetimeoffset 0001-01-01 到 9999-12-31 00:00:00 到 23:59:59.9999999 -14:00 到 +14:00 100 纳秒
各时间类型表达式一览表: 数据类型 输出
time 12:35:29. 1234567
date 2007-05-08
smalldatetime 2007-05-08 12:35:00
datetime 2007-05-08 12:35:29.123
datetime2 2007-05-08 12:35:29. 1234567
datetimeoffset 2007-05-08 12:35:29.1234567 +12:15