下表汇总了SQL Server 中经常用到的几个时间函数
函数 | 描述 |
GETDATE() | 返回当前日期和时间 |
CONVERT() | 用不同的格式显示日期/时间 |
DATEDIFF() | 返回两个日期之间的时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
本节重点介绍前两种函数。
1. SQL Server GETDATE() 函数
- 该函数比较简单,能方便地从 SQL Server 返回当前的时间和日期。
- 实例:
SELECT GETDATE() AS now
- 还有比较常用的就是在设计数据库时,为字段设置默认值。当插入数据时,如果该字段未设置,则为当前时间。
CREATE TABLE UserInfo(
iID int identity(1,1) not null primary key,
sUserName varchar(50),
regtime datetime not null default getdate()
)
- 当插入数据时,如果该字段未设置,则为当前时间。
2. CONVERT(data_type(length),date,style) 函数
- 该函数可以将日期以指定格式进行显示。 data_type(length)表示要转换成的数据长度。Date指需要转换的值。style 规定日期/时间的输出格式。
- style 值及输出格式如下表所示:
Style ID | Style 格式 |
100 或者 0 | mon dd yyyy hh:miAM (或者 PM) |
101 | mm/dd/yy |
102 | yy.mm.dd |
103 | dd/mm/yy |
104 | dd.mm.yy |
105 | dd-mm-yy |
106 | dd mon yy |
107 | Mon dd, yy |
108 | hh:mm:ss |
109 或者 9 | mon dd yyyy hh:mi:ss:mmmAM(或者 PM) |
110 | mm-dd-yy |
111 | yy/mm/dd |
112 | yymmdd |
113 或者 13 | dd mon yyyy hh:mm:ss:mmm(24h) |
114 | hh:mi:ss:mmm(24h) |
120 或者 20 | yyyy-mm-dd hh:mi:ss(24h) |
121 或者 21 | yyyy-mm-dd hh:mi:ss.mmm(24h) |
126 | yyyy-mm-ddThh:mm:ss.mmm(没有空格) |
130 | dd mon yyyy hh:mi:ss:mmmAM |
131 | dd/mm/yy hh:mi:ss:mmmAM |
- 几个常用的转换l实例:
SELECT CONVERT(varchar(20),GETDATE() ,111)
SELECT CONVERT(varchar(20),GETDATE() ,112)
SELECT CONVERT(varchar(20),GETDATE() ,120)