1. 程式人生 > >Sql中CAST用法介紹

Sql中CAST用法介紹

1、cast用法簡介:

CAST (expression AS data_type)
引數說明:
expression:任何有效的SQServer表示式。
AS:用於分隔兩個引數,在AS之前的是要處理的資料,在AS之後是要轉換的資料型別。
data_type:目標系統所提供的資料型別,包括bigint和sql_variant,不能使用使用者定義的資料型別。

使用CAST函式進行資料型別轉換時,在下列情況下能夠被接受:
(1)兩個表示式的資料型別完全相同。
(2)兩個表示式可隱性轉換。
(3)必須顯式轉換資料型別。

 

2、示例

看程式碼時,發現有如下這句:

IF(preweek_group < 0, -1, CAST(t1.preweek_group / 2 AS BIGINT) * 2) AS preweek_group

 

t1.preweek_group範圍為:0,1,2,3,4,5,6,7,。。。,37,38

CAST(t1.preweek_group / 2 AS BIGINT)

範圍為:0,1,2,3,4,。。。,19奇數

CAST(t1.preweek_group / 2 AS BIGINT) * 2

範圍為:0,2,4,。。。,38 偶數

 

IF(preweek_group < 0, -1, CAST(t1.preweek_group / 2 AS BIGINT) * 2) AS preweek_group

最終範圍為:如果沒有指定,則預設-1;其他則是歸到0,2,4,6,8,。。。,38這20個偶數中。