convert(目标类型[datatime/varchar],'输入内容'[时间/字符串],格式);
-- 字符串转为时间类型(当表字段为时间格式时使用)
--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',101)
--结果:2003-11-01 00:00:00.000
应用:select * from tableA where data_time BETWEEN CONVERT(datetime,'2018-07-02 14:30:00',20) AND CONVERT(datetime,'2018-07-02 15:30:00',20);
--2. Style=103时,表示日期字符串为:dd/mm/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',103)
--结果:2003-01-11 00:00:00.000
/*== 日期转换为字符串 ==*/
--1. Style=101时,表示将日期转换为:mm/dd/yyyy 格式
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
格式类型如下表:
| 不带世纪数位 (yy) | 带世纪数位 (yyyy) | 标准 | 输入/输出** |
|---|---|---|---|
| - | 0 或 100 (*) | 默认值 | mon dd yyyy hh:miAM(或 PM) |
| 1 | 101 | 美国 | mm/dd/yyyy |
| 2 | 102 | ANSI | yy.mm.dd |
| 3 | 103 | 英国/法国 | dd/mm/yy |
| 4 | 104 | 德国 | dd.mm.yy |
| 5 | 105 | 意大利 | dd-mm-yy |
| 6 | 106 | - | dd mon yy |
| 7 | 107 | - | mon dd, yy |
| 8 | 108 | - | hh:mm:ss |
| - | 9 或 109 (*) | 默认值 + 毫秒 | mon dd yyyy hh:mi:ss:mmmAM(或 PM) |
| 10 | 110 | 美国 | mm-dd-yy |
| 11 | 111 | 日本 | yy/mm/dd |
| 12 | 112 | ISO | yymmdd |
| - | 13 或 113 (*) | 欧洲默认值 + 毫秒 | dd mon yyyy hh:mm:ss:mmm(24h) |
| 14 | 114 | - | hh:mi:ss:mmm(24h) |
| - | 20 或 120 (*) | ODBC 规范 | yyyy-mm-dd hh:mm:ss[.fff] |
| - | 21 或 121 (*) | ODBC 规范(带毫秒) | yyyy-mm-dd hh:mm:ss[.fff] |
| - | 126(***) | ISO8601 | yyyy-mm-dd Thh:mm:ss:mmm(不含空格) |
| - | 130* | 科威特 | dd mon yyyy hh:mi:ss:mmmAM |
| - | 131* | 科威特 | dd/mm/yy hh:mi:ss:mmmAM |
本文介绍如何在SQL中进行日期时间与字符串之间的相互转换,并提供了不同风格的格式化示例,适用于多种日期格式。
4039

被折叠的 条评论
为什么被折叠?



