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