SQL Sever数据类型转换

简介: SQL Sever数据库开发

在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换。对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士转换就无法实现了,此时必须使用显示转换。为了实现这种显示转换,T-SQL提供了两个显示转换函数,分别是CAST和CONVERT函数。

 CAST(x AS type)和CONVERT(type,x)函数将一个类型的值转换为另一个类型的值。

eg: select CAST('121231' AS DATE),CAST(100 AS CHAR(3)),CONVERT(TIME,'2012-05-01 12:11:10')

 可以看到,CAST('121231' AS DATE)将字符串值转换为了相应的日期值;CAST(100 AS CHAR(3))将整数100转换为带有3个显示宽度的字符串类型,结果为字符串"100";CONVERT(TIME,'2012-05-01 12:11:10')将datetime类型的值,转换为time类型值,结果为"12:11:10.0000000"。

16.jpg

此外CONVERT函数还有样式参数,特别是处理日期转换过程中会使用到。

语法

CONVERT(data_type(length),data_to_be_converted,style)

data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

可以使用的 style 值:


17.png

实例

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:

CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635


相关文章
|
5月前
|
SQL Serverless
SQL Sever 单表数据查询(下)
SQL Sever 单表数据查询(下)
49 1
|
10月前
|
SQL 数据库
关于SQL Sever连接的失败案例
关于SQL Sever连接的失败案例
63 0
|
10月前
|
存储 SQL 数据库
SQL Sever数据库存储过程
SQL Sever数据库存储过程
|
SQL 数据库连接 数据库
C#常见控件与SQL Sever数据库交互
首先,我们采用DataSet作为临时的数据库,这样会比较好
|
SQL Serverless
SQL Sever联接查询
作者主页:https://www.couragesteak.com/
SQL Sever联接查询
|
SQL 数据库
SQL Sever 子查询与嵌套查询
作者主页:https://www.couragesteak.com/
SQL Sever 子查询与嵌套查询
|
SQL 数据库
sqlsever视图的学习
为什么需要视图: 总结: 简化查询 避免了代码的冗余 笔迷那了属性大量重复的sql语句 什么是视图: 视图从代码上来看是select...
918 0