MySql中的CAST

cast()是一種數據類型轉換的函數,函數將任何類型的值轉換爲具有指定類型的值,語法格式如下所示:

CAST ( expression  AS  data_type)

expression:任何有效的MySQL表達式或者一些字符串數據。

AS:用於分隔兩個參數,在AS之前的是要處理的數據,AS之後是要轉換的數據類型。

data_type:系統所提供的數據類型,這裏不能使用用戶定義的數據類型。MySQL所能使用的可以是以下類型之一:

CHAR(字符型)、DATE(日期)、TIME(時間)、DATETIME(日期時間型)、DECIMAL(浮點數 float)、SIGNED(整數 int)。

value 描述
DATE 日期,格式爲 'YYYY-MM-DD'.
DATETIME 日期加具體的時間,格式爲 'YYYY-MM-DD HH:MM:SS'.
TIME 時間,格式爲 'HH:MM:SS'.
CHAR 字符型
SIGNED int
UNSIGNED 無符號int
BINARY 二進制型
DECIMAL float型

   通過CAST()函數把一個浮點數轉換爲decimal類型需要注意:

        轉化時需要定義decimal值的精度與小數位數,默認情況下精度和小數位數的默認值分別是18與0,也就是說你在語句中不定義精度和小數位數的話,結果會把小數位數去掉。會進行四捨五入哦。

 使用舉例:

select cast(20.3456 as decimal(10, 2)) as num 
//結果:20.35
select cast('2019-03-08 15:31:26' as datetime ) as date
//結果:2019-03-08 15:31:26
select cast('2019-03-08 15:31:26' as date ) as date
//結果:2019-03-08
select cast('2019-03-08 15:31:26' as time ) as date
//結果:15:31:26
select cast('2015-11-03 15:31:26' as char ) as date
//結果:2019-03-08 15:31:26

例如表table1
 


date

2015-11-03 15:31:26

select cast(date as signed) as date from  table1;

結果如下:
date
20151103153126

select cast(date as char) as date from  table1;

// 結果如下:
// date
// 2015-11-03 15:31:26

select cast(date as datetime) as date from  table1;

// 結果如下:
// date
// 2015-11-03 15:31:26

select cast(date as date) as date from  table1;

// 結果如下:
// date
// 2015-11-03

select cast(date as time) as date from  table1;

// 結果如下:
// date
// 15:31:26

// 這裏date對應日期,time對應時間

 

發佈了66 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章