Sql 中CAST和CONVERT的区别

将一种数据类型的表达式转换为另一种数据类型的表达式。

CAST语法:
CAST ( expression AS data_type [ (length ) ])

 CONVERT语法:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )


参数
expression

任何有效的表达式

data_type

目标数据类型。这包括 xmlbigintsql_variant 。不能使用别名数据类型。有关可用数据类型的详细信息,请参阅数据类型 (Transact-SQL)

length

指定目标数据类型长度的可选整数。默认值为 30。

style

指定 CONVERT 函数如何转换 expression 的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由 data_type 确定的。


Date 和 Time 样式

如果 expression 为 date 或 time 数据类型,则 style 可以为下表中显示的值之一。其他值作为 0 进行处理。SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。

不带世纪数位 (yy) (1 ) 带世纪数位 (yyyy) 标准 输入/输出 (3 )

-

0100 (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

-

9109 (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

-

13113 (1, 2 )

欧洲默认设置 + 毫秒

dd mon yyyy hh:mi:ss:mmm(24h)

14

114

-

hh:mi:ss:mmm(24h)

-

20120 (2 )

ODBC 规范

yyyy-mm-dd hh:mi:ss(24h)

-

21121 (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

 

 

有关类型的详细信息,请参阅:http://msdn.microsoft.com/zh-cn/library/ms187928.aspx

 

例子:

1.SELECT CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102)

执行结果: 2009.11.23

select convert(NVARCHAR(19),getdate(),120)

执行结果: 2009-11-23 15:48:28

2. select cast( CURRENT_TIMESTAMP as varchar(30))

执行结果: 11 23 2009  3:44PM

3.  CAST和CONVERT还能联合使用,达到特殊的效果:

SELECT CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102) AS DATETIME)

执行结果:2009-11-23 00:00:00.000


参考资料: http://msdn.microsoft.com/zh-cn/library/ms187928.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值