在SQL server中设置时间格式

在SQL server中设置时间格式
2008-01-13 12:21:02

今天在vs中更新sqlserver,却发现我vs中是当前时间,insert到数据库中却变成了1905年,搞了半天,原来是sql中的时间格式问题,默认是mdy,所以我的时间就变成了1905年.

所以要用convert转换函数:

CONVERT 函数 [数据类型转换]

--------------------------------------------------------------------------------

功能
返回转换成提供的数据类型的表达式。

语法
CONVERT ( data type, expression [ , format-style ] )

参数
data type 表达式将转换成的数据类型。

expression 要转换的表达式。

format-style 对于将字符串转换为日期或时间数据类型以及相反的转换过程,format-style 是描述要使用的日期格式字符串的样式代码。 format-style 参数的值具有下列含义: 不含世纪 (yy) 含世纪 (yyyy) 输出
- 0 或 100 Mmm dd yyyy hh:nn:ss:sss AM(或 PM)
1 101 mm/dd/yy[yy]
2 102 [yy]yy.mm.dd
3 103 dd/mm/yy[yy]
4 104 dd.mm.yy[yy]
5 105 dd-mm-yy[yy]
6 106 dd Mmm yy[yy]
7 107 Mmm dd, yy[yy]
8 108 hh:nn:ss
- 9 或 109 Mmm dd yyyy hh:nn:ss:sssAM(或 PM)
10 110 mm-dd-yy[yy]
11 111 [yy]yy/mm/dd
12 112 [yy]yymmdd
13 113 dd Mmm yyy hh:nn:ss:sss(24 小时制,欧洲缺省时间 + 毫秒,4 位数年份)
14 114 hh:nn:ss:sss(24 小时制)
20 120 yyyy-mm-dd hh:nn:ss:sss(24 小时制,ODBC 规范,4 位数年份)
21 121 yyyy-mm-dd hh:nn:ss.sss(24 小时制,ODBC 规范加毫秒,4 位数年份)


如果未提供 format-style 参数,则使用样式代码 0。

有关每种输出符号(如 Mmm)生成的样式的描述,请参见 DATE_FORMAT 选项 [compatibility]。

标准和兼容性
SQL/92 供应商扩展。

SQL/99 供应商扩展。

Sybase 与 Adaptive Server Enterprise 兼容。

另请参见
CAST 函数 [数据类型转换]
示例
下列语句说明了格式样式的用法:

SELECT CONVERT( CHAR( 20 ), order_date, 104 )
FROM sales_orderorder_date
16.03.2000
20.03.2000
23.03.2000
25.03.2000
...


SELECT CONVERT( CHAR( 20 ), order_date, 7 )
FROM sales_orderorder_date
Mar 16, 00
Mar 20, 00
Mar 23, 00
Mar 25, 00
...


下面的语句说明了到整数的转换,并返回值 5:

SELECT CONVERT( integer, 5.2 )

SELECT CONVERT(CHar(11),getdate(),120)

你可能感兴趣的:(sql)