几种SQL取日期部分的方法:
一.convert
convert(varchar(10),getdate(),120) : varchar(10) 截取位数可以调节,最多能显示19位(varchar(19))
如:2009-12-12 10:10:10 -> 2009-12-12
不带世纪数位 (yy) ( 1 ) | 带世纪数位 (yyyy) | 标准 | 输入/输出 ( 3 ) |
---|---|---|---|
- |
0 或 100 ( 1, 2 ) |
默认 |
mon dd yyyy hh:miAM(或 PM) |
1 |
101 |
美国 |
mm/dd/yyyy |
2 |
102 |
ANSI |
yy.mm.dd |
3 |
103 |
英国/法国 |
dd/mm/yyyy |
4 |
104 |
德国 |
dd.mm.yy |
5 |
105 |
意大利 |
dd-mm-yy |
6 |
106 (1) |
- |
dd mon yy |
7 |
107 (1) |
- |
mon dd, yy |
8 |
108 |
- |
hh:mi:ss |
- |
9 或 109 ( 1, 2 ) |
默认设置 + 毫秒 |
mon dd yyyy hh:mi:ss:mmmAM(或 PM) |
10 |
110 |
美国 |
mm-dd-yy |
11 |
111 |
日本 |
yy/mm/dd |
12 |
112 |
ISO |
yymmdd yyyymmdd |
- |
13 或 113 ( 1, 2 ) |
欧洲默认设置 + 毫秒 |
dd mon yyyy hh:mi:ss:mmm(24h) |
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
- |
20 或 120 ( 2 ) |
ODBC 规范 |
yyyy-mm-dd hh:mi:ss(24h) |
- |
21 或 121 ( 2 ) |
ODBC 规范(带毫秒) |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
- |
126 ( 4 ) |
ISO8601 |
yyyy-mm-ddThh:mi:ss.mmm(无空格) |
- |
127 ( 6, 7 ) |
带时区 Z 的 ISO8601。 |
yyyy-mm-ddThh:mi:ss.mmmZ (无空格) |
- |
130 ( 1, 2 ) |
回历 ( 5 ) |
dd mon yyyy hh:mi:ss:mmmAM |
- |
131 ( 2 ) |
回历 ( 5 ) |
dd/mm/yy hh:mi:ss:mmmAM |
1 这些样式值将返回不确定的结果。包括所有 (yy)(不带世纪数位)样式和一部分 (yyyy)(带世纪数位)样式。
2 默认值( style 0 或 100 、 9 或 109 、 13 或 113 、 20 或 120 以及 21 或 121 )始终返回世纪数位 (yyyy)。
3 转换为 datetime 时输入;转换为字符数据时输出。
4 为用于 XML 而设计。对于从 datetime 或 smalldatetime 到字符数据的转换,其输出格式如上一个表所述。
5 回历是有多种变体的日历系统。SQL Server 使用科威特算法。
重要提示: |
---|
默认情况下,SQL Server 基于截止年份 2049 年来解释两位数的年份。换言之,就是将两位数的年份 49 解释为2049,将两位数的年份 50 解释为 1950。许多客户端应用程序(如基于自动化对象的应用程序)都使用截止年份 2030 年。SQLServer 提供了
“两位数年份截止”
配置选项,可通过此选项更改 SQL Server 使用的截止年份,从而对日期进行一致处理。建议您指定四位数年份。
|
6 仅支持从字符数据转换为 datetime 或 smalldatetime 。仅表示日期或时间成分的字符数据转换为 datetime 或 smalldatetime 数据类型时,未指定的时间成分设置为 00:00:00.000,未指定的日期成分设置为 1900-01-01。
7
使用可选的时间区域指示符 (Z) 更便于将具有时区信息的 XML
datetime
值映射到没有时区的 SQL Server
datetime
值。Z 是时区 UTC-0 的指示符。其他时区则以 + 或 - 方向的 HH:MM 偏移量来指示。例如:
2006-12-12T23:45:12-08:00
。
从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。使用相应的 char 或 varchar 数据类型长度从 datetime 或 smalldatetime 值转换时,可截断不需要的日期部分。
二.DATEPART
语法
DATEPART
(
datepart
,
date
)
参数
日期部分 | 缩写 |
---|---|
year | yy, yyyy |
quarter | qq, q |
month | mm, m |
dayofyear | dy, y |
day | dd, d |
week | wk, ww |
weekday | dw |
Hour | hh |
minute | mi, n |
second | ss, s |
millisecond | ms |