您可以利用新功能:FORMAT()。
使用此功能,您可以将DATETIME字段转换为自己的自定义VARCHAR格式。
例
DECLARE @Date DATETIME = '2016-09-05 00:01:02.333' SELECT FORMAT(@Date, N'dddd, MMMM dd, yyyy hh:mm:ss tt')
2016年9月5日星期一12:01:02 AM
争论
假定DATETIME格式为2016-09-05 00:01:02.333,则下表显示了所提供参数的输出。
论据 | 输出结果 |
---|---|
yyyy | 2016年 |
y | 16 |
MMMM | 九月 |
MM | 09 |
中号 | 9 |
dddd | 星期一 |
ddd | 周一 |
dd | 05 |
d | 5 |
H | 00 |
H | 0 |
h | 12 |
H | 12 |
毫米 | 01 |
米 | 1 |
ss | 02 |
s | 2 |
tt | 上午 |
Ť | 一种 |
fff | 333 |
ff | 33 |
F | 3 |
您还可以向该FORMAT()函数提供一个参数以生成预格式化的输出:
DECLARE @Date DATETIME = '2016-09-05 00:01:02.333' SELECT FORMAT(@Date, N'U')
2016年9月5日星期一4:01:02 AM
单论点 | 输出结果 |
---|---|
d | 2016年9月5日星期一 |
d | 2016年9月5日 |
F | 2016年9月5日星期一12:01:02 AM |
F | 2016年9月5日星期一12:01 AM |
G | 2016/9/5上午12:01:02 |
G | 2016/9/5上午12:01 |
中号 | 九月05 |
Ø | 2016-09-05T00:01:02.3330000 |
[R | 2016年9月5日,星期一00:01:02 GMT |
s | 2016-09-05T00:01:02 |
Ť | 上午12:01:02 |
Ť | 上午12:01 |
ü | 2016年9月5日星期一4:01:02 AM |
ü | 2016-09-05 00:01:02Z |
ÿ | 2016年9月 |
注意:上面的列表使用的是en-US区域性。可以FORMAT()通过第三个参数为via指定不同的区域性:
DECLARE @Date DATETIME = '2016-09-05 00:01:02.333' SELECT FORMAT(@Date, N'U', 'zh-cn')
2016年9月5日4:01:02