SQL中CAST()實例之轉(zhuǎn)換數(shù)據(jù)類型
1.CAST()的語法及用法
(1)語法:CAST(Expression AS Data_type)
即CAST(表達式 AS 數(shù)據(jù)類型)
參數(shù)說明
Expression :需要被轉(zhuǎn)換的表達式,可以是字段也可以是字段和其它函數(shù)組合的表達式等。
AS :固定用法格式,連接表達式和數(shù)據(jù)類型,“轉(zhuǎn)為”的意思。
Data_type :目標(biāo)數(shù)據(jù)類型,數(shù)據(jù)類型是SQL自帶的不能自定義,主要有CHAR,DATE,DATETIME,TIME,BINARY,DECIMAL,SIGNED,UNSIGNED。Decimal是具有小數(shù)點而且數(shù)值確定的數(shù)值類型。
(2)用法:
將需要轉(zhuǎn)換的表達式轉(zhuǎn)為目標(biāo)類型,可以是獲取目標(biāo)類型的字段,也可以與where 、case when等語法進行使用進行比較等。
CAST()的用法與Excel的TEXT函數(shù)的用法非常相似。
2.CAST()的實例
(1)將文本(字符串)時間轉(zhuǎn)為日期格式,獲取日期格式的字段
例:從表中獲取日期格式的日期字段。假設(shè)表名為table,儲存日期的字段是ctime。
select substring_index(ctime,' ',1) as dt from table
獲得的結(jié)果為字符串(文本)類型的時間,需要獲取日期格式的日期,則用CAST()轉(zhuǎn)換成日期格式。“substring_index(ctime,' ',1)”是指從字段中提取部分值(目標(biāo)值)。
select cast(substring_index(ctime,' ',1) as date) as dt from table
(2)與其它語法進行結(jié)合使用,比如Where
例:獲取某日期的數(shù)據(jù),比如獲取出生日期為2000-01-01以后的數(shù)據(jù),且獲得的日期為日期格式。假設(shè)表名為table,數(shù)據(jù)的字段為name,age,country,出生日期的字段是born,born字段儲存的是字符串的日期比如“2000-02-23”,SQL支持直接用于比較。
select name,age,country, cast(born as date) as born from table where born >= "2000-01-01"
也可以
select name,age,country, cast(born as date) as born from table where cast(born as date) >= 2000-01-01
總結(jié)
到此這篇關(guān)于SQL中CAST()實例之轉(zhuǎn)換數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)SQL CAST()轉(zhuǎn)換數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
windows 10 下mysql-8.0.17-winx64的安裝方法圖解
這篇文章主要介紹了windows 10 mysql-8.0.17-winx64的方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08Navicat如何遠程連接云服務(wù)器數(shù)據(jù)庫
這篇文章主要介紹了Navicat如何遠程連接云服務(wù)器數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11Mysql之如何根據(jù).frm和.idb文件恢復(fù)表結(jié)構(gòu)
這篇文章主要介紹了Mysql之如何根據(jù).frm和.idb文件恢復(fù)表結(jié)構(gòu)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03