SQL Server 常用日期函数DateDiff()、GetDate() 等详解
完善时间:2019-03-21 09:46:12会员:倩华目录:电脑网络 - 数据库浏览:6275 次
一、GetDate() 函数
作用:
GetDate() 函数用于返回当前的时间和日期,返回值样式举例:2013/10/29 9:11:05
语法:
GetDate()
ASP 实例:
<% '数据库链接定义省略 sql="SELECT GetDate() AS CurrentDateTime" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("CurrentDateTime") end if rs.close set rs=nothing %>
二、DateDiff() 函数
作用:
DateDiff() 函数返回“开始日期”与“结束日期”之间的差值(如:年、天数等)。
返回值类型:
DateDiff() 函数返回值类型为:Long(长整型),范围从 -2,147,483,648 到 2,147,483,647。
语法:
DateDiff(参数 , 开始日期 , 结束日期)
参数取值:
说明 |
参数写法 |
参数简写 |
最大 |
年 |
Year
|
yy |
|
季度 |
Quarter |
q |
|
月 |
Month |
m |
|
周 |
Week |
wk |
|
日 |
Day |
d |
|
小时 |
Hour |
hh |
|
分钟 |
Minute |
mi |
|
秒 |
Second |
s |
68年 |
毫秒 |
Millisecond |
ms |
24天20小时31分23.648秒 |
ASP 实例:
<% '数据库链接定义省略 sql="SELECT DateDiff(ms,'2013-1-1','2013-1-25 20:31:23.648') AS DiffVal" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("DiffVal") end if rs.close set rs=nothing '输出:2147483646(毫秒) sql="SELECT DateDiff(Week,'2013-10-20','2014-10-20') AS DiffVal" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write " "&rs("DiffVal") end if rs.close set rs=nothing '输出:52(周) sql="SELECT DateDiff(d,'2013-10-20',GetDate()) AS DiffVal" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write " "&rs("DiffVal") end if rs.close set rs=nothing '当前系统日期为:2013-10-29,输出:9(天) %>
三、DateAdd() 函数
作用:
DateAdd() 函数用于在指定日期增加(或减去)参数设定的间隔。
语法:
DateAdd(参数 , 加(减)间隔 , 指定日期)
参数取值:
说明 |
参数写法 |
参数简写 |
年 |
Year
|
yy |
季度 |
Quarter |
q |
月 |
Month |
m |
周 |
Week |
wk |
日 |
Day |
d |
小时 |
Hour |
hh |
分钟 |
Minute |
mi |
秒 |
Second |
s |
毫秒 |
Millisecond |
ms |
ASP 实例:
<% '数据库链接定义省略 sql="SELECT DateAdd(day,5,'2013-1-1') AS DateAddVal" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("DateAddVal") end if rs.close set rs=nothing '输出:2013/1/6 sql="SELECT DateAdd(s,10,'2013-1-1') AS DateAddVal" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("DateAddVal") end if rs.close set rs=nothing '输出:2013/1/1 0:00:10 sql="SELECT DateAdd(mi,-1,'2013-1-1') AS DateAddVal" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("DateAddVal") end if rs.close set rs=nothing '输出:2012/12/31 23:59:00 %>
四、Convert() 函数
作用:
Convert() 函数用来将日期转换为指定样式的新数据类型。
语法:
Convert(数据类型(长度) , 需转换日期 , 样式参数)
常用参数取值:
样式参数 |
样式说明 |
长度 |
101 |
mm/dd/yyyy |
10 |
110 |
mm-dd-yyyy |
10 |
103 |
dd/mm/yyyy |
10 |
105 |
dd-mm-yyyy |
10 |
111 |
yyyy/mm/dd |
10 |
112 |
yyyymmdd |
8 |
108 |
hh:mm:ss |
8 |
114 |
hh:mm:ss:mmm |
12 |
120 |
yyyy-mm-dd hh:mm:ss |
19 |
121 |
yyyy-mm-dd hh:mm:ss.mmm |
23 |
ASP 实例:
<% '数据库链接定义省略 sql="SELECT Convert(VarChar(19),GetDate(),120) AS DateConvert" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("DateConvert") end if rs.close set rs=nothing '输出:2013-10-29 11:07:44 sql="SELECT Convert(VarChar(12),GetDate(),114) AS DateConvert" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write " "&rs("DateConvert") end if rs.close set rs=nothing '输出:11:11:14:563 %>
五、DatePart() 函数
作用:
DatePart() 函数用来返回日期(时间)参数指定的部份,如年、月、日、时、分、秒等。
语法:
DatePart(参数 , 日期)
参数取值:
说明
|
参数写法 |
参数简写 |
年 |
Year |
yy |
季度 |
Quarter |
q |
月 |
Month |
m |
周 |
Week |
wk |
日 |
Day |
d |
小时 |
Hour |
hh |
分钟 |
Minute |
mi |
秒 |
Second |
s |
毫秒 |
Millisecond |
ms |
<% '数据库链接定义省略 sql="SELECT DatePart(mi,'2013-10-01 23:12:09.456') AS PartDate" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("PartDate") end if rs.close set rs=nothing '输出:12(分钟部分) sql="SELECT DatePart(ms,'2013-10-01 23:12:09.456') AS PartDate" Set rs=Server.CreateObject("ADODB.RecordSet") rs.open sql, conn, 1, 1 if not(rs.bof and rs.eof) then Response.Write rs("PartDate") end if rs.close set rs=nothing '输出:457(毫秒部分,有误差) %>
六、FormatDateTime()函数
作用:
FormatDateTime() 函数用来格式化并返回一个合法的日期或时间表达式。
语法:
FormatDateTime(日期 , 日期/时间格式)
参数取值:
日期/时间格式参数 |
说明 |
0 (l默认值) |
显示日期和/或时间。 如果有日期部分,则将该部分显示为短日期格式。 如果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部分。 |
1 |
使用计算机区域设置中指定的长日期格式显示日期。 |
2 |
使用计算机区域设置中指定的短日期格式显示日期。 |
3 |
使用此格式显示时间:hh:mm:ss PM/AM |
4 |
使用 24 小时格式 (hh:mm) 显示时间。 |
<% dim DateStr DateStr="2019-6-1 7:3" response.write FormatDateTime(DateStr) '返回:2019/6/1 7:03:00 response.write FormatDateTime(DateStr,1) '返回:2019年6月1日 response.write FormatDateTime(DateStr,2) '返回:2019/6/1 response.write FormatDateTime(DateStr,3) '返回:7:03:00 response.write FormatDateTime(DateStr,4) '返回:07:03 %>
发布日期:2020/01/15
发布日期:2019/07/22
发布日期:2019/03/17
苏公网安备 32011102010041号
320111201705278429
苏ICP备12027725号