我们都知道不同的国家要求不同的日期格式。不同的应用程序要求不同的日期格式。SQL Server数据库管理员和开发人员将函数convert()和其它日期函数例如datepart()、datename()等等一起使用来操纵输出的格式。这篇文章介绍怎样创建一个普通函数来获得不同国家和应用程序所要求的大多数格式。
现在让我们使用不同的场景来看看这个函数的使用。下面关键字中的任何一个都可以联合使用来显示不同格式的日期。
YYYY - YYYY格式的年份,包括百年
Yr - YY格式的年份
QQ - 显示季度
MM - 显示月份
WW - 显示星期
DD - 显示日子
24HH - 以24小时制的形式显示小时
12HH - 以12小时制的形式显示小时
MI - 显示分钟
SS - 显示秒
MS - 显示毫秒
MCS - 显示微秒
NS - 显示十亿分之一秒
DAY - 显示日子的名称,例如:Monday
MONTH- - 显示月份的名称,例如:August
MON - 显示短的月份名称,例如:Aug
AMPM - 显示AM/PM 用于12小时制格式
TZ - 显示时间偏移
UNIXPOSIX - 显示unix posix时间。秒数从1/1/1970开始
UCASE - 以大写显示结果
LCASE - 以小写显示结果
场景 1
如果你想以YYYY/MM/DD的形式显示日期,那么执行下面的命令。
select dbo.format_date(GETDATE(),'YYYY/MM/DD') as Date
结果:
Date
--------------
2009/01/12
场景 2
要以YYYY-MM-DD格式显示日期,那么执行下面的命令。
select dbo.format_date(GETDATE(),'YYYY-MM-DD') as Date
结果:
Date
-------------------
2009-01-12
场景 3
要显示年份和季节,那么执行下面的命令。
select dbo.format_date(GETDATE(),'Year: YYYY, Quarter: QQ ') as Date
结果:
Date
-----------------------
Year: 2009, Quarter: 1
场景 4
要以24小时制格式显示时间,执行下面的命令。
select dbo.format_date(GETDATE(),'24HH:MI:SS') as Time
结果:
Time
------------------------
23:10:07
场景 5
要以12小时制格式显示时间,执行下面的命令。
select dbo.format_date(GETDATE(),'12HH:MI:SS AMPM') as Time
结果:
Time
-----------------------
11:11:02 PM