SQL SERVER常用的时间函数
类别: 数据库教程
按 datetime 值的 Microsoft® SQL Server™ 标准内部格式返回当前系统日期和时间。
语法
GETDATE ( )
返回类型
datetime
注释
日期函数可用在 SELECT 语句的选择列表或用在查询的 WHERE 子句中。
在设计报表时,GETDATE 函数可用于在每次生成报表时打印当前日期和时间。GETDATE 对于跟踪活动也很有用,诸如记录事务在某一帐户上发生的时间。
示例A. 用 GET DATE 返回当前日期和时间
下面的示例得出当前系统日期和时间:
SELECT GETDATE()GO
下面是结果集:
-------------------------July 29 1998 2:50 PM(1 row(s) affected)
B. 在 CREATE TABLE 语句中使用 GETDATE
下面的示例创建 employees 表并用 GETDATE 给出员工雇佣时间的默认值。
USE pubsGOCREATE TABLE employees( emp_id char(11) NOT NULL, emp_lname varchar(40) NOT NULL, emp_fname varchar(20) NOT NULL, emp_hire_date datetime DEFAULT GETDATE(), emp_mgr varchar(30))GOGETUTCDATE
返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的 datetime 值。当前的 UTC 时间得自当前的本地时间和运行 SQL Server 的计算机操作系统中的时区设置。
语法
GETUTCDATE()
返回类型
datetime
注释
GETUTCDATE 是非确定性函数。引用该列的视图和表达式无法进行索引。
GETUTCDATE 无法在用户定义的函数内调用。
DATENAME
返回代表指定日期的指定日期部分的字符串。
语法
DATENAME ( datepart , date )
参数
datepart
是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分缩写yearyy, yyyyquarterqq, qmonthmm, mdayofyeardy, ydaydd, dweekwk, wwweekdaydwHourhhminutemi, nsecondss, smillisecondms
weekday (dw) 日期部分返回星期几(星期天、星期一等)。
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。对 1753 年 1 月 1 日之后的日期用datetime 数据类型。更早的日期存储为字符数据。当输入 datetime 值时,始终将其放入引号中。因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。有关时间值指定的更多信息,请参见时间格式。
如果只指定年份的最后两位数字,则小于或等于 two digit year cutoff 配置选项的值的最后两位数字的值所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2050(默认),则 49 被解释为 2049,50 被解释为 1950。为避免模糊,请使用四位数字的年份。
返回类型
nvarchar
注释
SQL Server 自动在字符和 datetime 值间按需要进行转换,例如,当将字符值与 datetime 值进行比较时。
示例
此示例从 GETDATE 返回的日期中提取月份名。
SELECT DATENAME(month, getdate()) AS \'Month Name\'
语法
GETDATE ( )
返回类型
datetime
注释
日期函数可用在 SELECT 语句的选择列表或用在查询的 WHERE 子句中。
在设计报表时,GETDATE 函数可用于在每次生成报表时打印当前日期和时间。GETDATE 对于跟踪活动也很有用,诸如记录事务在某一帐户上发生的时间。
示例A. 用 GET DATE 返回当前日期和时间
下面的示例得出当前系统日期和时间:
SELECT GETDATE()GO
下面是结果集:
-------------------------July 29 1998 2:50 PM(1 row(s) affected)
B. 在 CREATE TABLE 语句中使用 GETDATE
下面的示例创建 employees 表并用 GETDATE 给出员工雇佣时间的默认值。
USE pubsGOCREATE TABLE employees( emp_id char(11) NOT NULL, emp_lname varchar(40) NOT NULL, emp_fname varchar(20) NOT NULL, emp_hire_date datetime DEFAULT GETDATE(), emp_mgr varchar(30))GOGETUTCDATE
返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的 datetime 值。当前的 UTC 时间得自当前的本地时间和运行 SQL Server 的计算机操作系统中的时区设置。
语法
GETUTCDATE()
返回类型
datetime
注释
GETUTCDATE 是非确定性函数。引用该列的视图和表达式无法进行索引。
GETUTCDATE 无法在用户定义的函数内调用。
DATENAME
返回代表指定日期的指定日期部分的字符串。
语法
DATENAME ( datepart , date )
参数
datepart
是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分缩写yearyy, yyyyquarterqq, qmonthmm, mdayofyeardy, ydaydd, dweekwk, wwweekdaydwHourhhminutemi, nsecondss, smillisecondms
weekday (dw) 日期部分返回星期几(星期天、星期一等)。
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。对 1753 年 1 月 1 日之后的日期用datetime 数据类型。更早的日期存储为字符数据。当输入 datetime 值时,始终将其放入引号中。因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。有关时间值指定的更多信息,请参见时间格式。
如果只指定年份的最后两位数字,则小于或等于 two digit year cutoff 配置选项的值的最后两位数字的值所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2050(默认),则 49 被解释为 2049,50 被解释为 1950。为避免模糊,请使用四位数字的年份。
返回类型
nvarchar
注释
SQL Server 自动在字符和 datetime 值间按需要进行转换,例如,当将字符值与 datetime 值进行比较时。
示例
此示例从 GETDATE 返回的日期中提取月份名。
SELECT DATENAME(month, getdate()) AS \'Month Name\'
- 上一篇: 异构数据库之间的导入导出
- 下一篇: ORACLE PL/SQL PROFILER应用指南
-= 资 源 教 程 =-
文 章 搜 索