SQL Server 2005 数据类型转换函数(描述及实例)

表达式:是常量、变量、列或函数等与运算符的任意组合。以下参数中表达式类型是指表达式经运算后返回的值的类型

数据类型转换函数

(以下两种函数功能类似,但是convert在进行日期转换时还提供了丰富的样式,cast只能进行普通的日期转换

函数名称

参数

示例

描述

convert

(数据类型[(长度)],表达式[,样式])

select convert(nvarchar,123) 返回123

select N'年龄:'+convert(nvarchar,23)

返回 年龄:23(注意:如果想要在结果中正确显示中文需要在给定的字符串前面加上N,加N是为了使数据库识别 Unicode字符)

select  convert(nvarchar ,getdate())

返回04 28 2009 10:21PM

select  convert(nvarchar ,getdate(),101)

返回04/28/2009

select  convert(nvarchar ,getdate(),120)

返回2009-04-28 12:22:21

select  convert(nvarchar(10) ,getdate(),120)

返回2009-04-28

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

长度:如果数据类型允许设置长度,可以设置长度,例如

varchar(10)

样式:用于将日期类型数据转换为字符数据类型的日期格式的样式。见下表

cast

(表达式 as 数据类型[(长度)])

select cast(123 as nvarchar)返回123

select N'年龄:'+cast(23 as nvarchar)

返回 年龄:23

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

 

日期类型数据转换为字符数据类型的日期格式的部分样式表 

不带世纪数位 (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

 

120

ODBC 规范

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

 

 

 

 

 

 

 

 

 

 

 

当两个不同数据类型的表达式用运算符组合后,数据类型优先级规则指定将优先级较低的数据类型优先转换为优先级较高的数据类型。如果此转换不是所支持的隐式转换,则返回错误。当两个操作数表达式具有相同的数据类型时,运算的结果便为该数据类型。如果需要把优先级高的数据类型转换为优先级低的数据类型时需要使用数据类型转换函数进行显示转换。

SQL Server 2005 对数据类型使用以下优先级顺序(先高后低):

1、用户定义数据类型(最高)2、sql_variant 3、xml 4、datetime 5、smalldatetime 6、float 7、real  8、decimal 9、money  10、smallmoney  11、bigint 12、int 13、smallint 14、tinyint 15、bit 16、ntext 17、text 18、image 19、timestamp 20、uniqueidentifier

21、nvarchar(包括 nvarchar(max))22、nchar 23、varchar (包括 varchar(max))24、char 25、varbinary(包括 varbinary(max))26、binary(最低)

更多:可以使用的 style 值:

Style IDStyle 格式
100 或者 0mon dd yyyy hh:miAM (或者 PM)
101mm/dd/yy
102yy.mm.dd
103dd/mm/yy
104dd.mm.yy
105dd-mm-yy
106dd mon yy
107Mon dd, yy
108hh:mm:ss
109 或者 9mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110mm-dd-yy
111yy/mm/dd
112yymmdd
113 或者 13dd mon yyyy hh:mm:ss:mmm(24h)
114hh:mi:ss:mmm(24h)
120 或者 20yyyy-mm-dd hh:mi:ss(24h)
121 或者 21yyyy-mm-dd hh:mi:ss.mmm(24h)
126yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130dd mon yyyy hh:mi:ss:mmmAM
131dd/mm/yy hh:mi:ss:mmmAM

相关文章:

SQL_Server_2005_函数大全(描述及实例)

SQL_Server_2005_字符串函数(描述及实例)

SQL_Server_2005_日期和时间函数(描述及实例)

SQL_Server_2005_数学函数(描述及实例)

SQL_Server_2005_数据类型转换函数(描述及实例)

转载于:https://www.cnblogs.com/atree/archive/2011/03/10/SQL_Server_2005_convert_cast.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值