SQL中的cast()函数--将某种数据类型的表达式显式转换为另一种数据类型
CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。
语法:CAST (expression AS data_type)
expression:任何有效的SQServer表达式。
AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。
可以转换的类型是有限制的。这个类型可以是以下值其中的一个:
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED
例子:
SELECT CAST('9.0' AS decimal) 结果:9
例子:
SELECT
MAX(
CAST(
SUBSTRING(
u.user_code,
2,
LENGTH(u.user_code) - 1
) AS SIGNED --要转换的类型
)
) CODE
FROM
t_s_user u
WHERE
u.flag = '1'
AND SUBSTRING(u.user_code, 1, 1)='A' -- SUBSTRING(要截取的字符串,从1开始截取,截取几位)包前也包后
以上结果本来应该返回的是005 ,我们转换成了整数所以结果就是5
posted on 2020-05-08 13:28 UnmatchedSelf 阅读(956) 评论(0) 编辑 收藏 举报