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