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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM