MySQL數(shù)據(jù)庫中CAST與CONVERT函數(shù)實(shí)現(xiàn)類型轉(zhuǎn)換的講解
MySQL 的CAST()
和CONVERT()
函數(shù)可用來獲取一個(gè)類型的值,并產(chǎn)生另一個(gè)類型的值。
兩者具體的語法如下:
CAST(value as type); CONVERT(value, type);
就是CAST(xxx AS 類型), CONVERT(xxx,類型)。
可以轉(zhuǎn)換的類型是有限制的。這個(gè)類型可以是以下值其中的一個(gè):
二進(jìn)制,同帶binary前綴的效果 : BINARY
例如:當(dāng)使用 like 模糊搜索日期類型的字段時(shí) 語句應(yīng)該是 Create_Time like binary CONCAT(‘%',#{createTime},'%')
- 字符型,可帶參數(shù) : CHAR()
- 日期 : DATE
- 時(shí)間: TIME
- 日期時(shí)間型 : DATETIME
- 浮點(diǎn)數(shù) : DECIMAL
- 整數(shù) : SIGNED
- 無符號(hào)整數(shù) : UNSIGNED
下面舉幾個(gè)例子:
例一
mysql> SELECT CONVERT(‘23',SIGNED); +———————-+ | CONVERT(‘23',SIGNED) | +———————-+ | 23 | +———————-+ 1 row in set
這個(gè)例子是將varchar類型轉(zhuǎn)化成int類型。
例二
mysql> SELECT CAST('125e342.83' AS signed); +------------------------------+ | CAST('125e342.83' AS signed) | +------------------------------+ | 125 | +------------------------------+ 1 row in set
例三
mysql> SELECT CAST('3.35' AS signed); +------------------------+ | CAST('3.35' AS signed) | +------------------------+ | 3 | +------------------------+ 1 row in set
像上面例子一樣,將varchar 轉(zhuǎn)為int 用 cast(a as signed),其中a為varchar類型的字符串。
例四
在SQL Server中,下面的代碼演示了datetime變量中,僅包含單純的日期和單純的時(shí)間時(shí),日期存儲(chǔ)的十六進(jìn)制存儲(chǔ)表示結(jié)果。
DECLARE @dt datetime --單純的日期 SET @dt='1900-1-2' SELECT CAST(@dt as binary(8)) --結(jié)果: 0x0000000100000000 --單純的時(shí)間 SET @dt='00:00:01' SELECT CAST(@dt as binary(8)) --結(jié)果: 0x000000000000012C
MySQL的類型轉(zhuǎn)換和SQL Server一樣,就是類型參數(shù)有點(diǎn)點(diǎn)不同:CAST(xxx AS 類型) , CONVERT(xxx,類型)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
mysql數(shù)據(jù)表規(guī)模九千萬條記錄?如何優(yōu)化查詢?
這里的優(yōu)化維度有四個(gè):硬件配置、參數(shù)配置、表結(jié)構(gòu)設(shè)計(jì)和SQL語句及索引,需要的朋友可以參考下2023-12-12MySQL無服務(wù)及服務(wù)無法啟動(dòng)的終極解決方案分享
又是MySQL的問題,之前已經(jīng)遇見過一次本地MySQL服務(wù)無法啟動(dòng)的情況,現(xiàn)在又出現(xiàn)了,下面這篇文章主要給大家介紹了關(guān)于MySQL無服務(wù)及服務(wù)無法啟動(dòng)的終極解決方案,需要的朋友可以參考下2022-06-06解析MySQL中存儲(chǔ)時(shí)間日期類型的選擇問題
這篇文章主要介紹了解析MySQL中存儲(chǔ)時(shí)間日期類型的選擇問題,具有一定參考價(jià)值,需要的朋友可以了解。2017-10-10小心陷阱!MySQL中處理Null時(shí)需注意兩點(diǎn)
這篇文章主要為大家介紹了MySQL中處理Null時(shí)需注意的兩點(diǎn),很關(guān)鍵的兩點(diǎn),大家千萬要小心2016-06-06連接MySQL出現(xiàn)Host is not allowed to con
這篇文章主要給大家介紹了連接MySQL出現(xiàn)Host is not allowed to connect to this MySQL server 解決方法,文中有詳細(xì)的解決步驟,需要的朋友可以參考下2023-08-08MySQL中出現(xiàn)亂碼和表格不對(duì)齊的解決辦法
這篇文章給大家介紹了MySQL中出現(xiàn)亂碼和表格不對(duì)齊的解決辦法,文中通過代碼和圖文講解的非常詳細(xì),對(duì)大家的解決MySQL中出現(xiàn)亂碼和表格不對(duì)齊有一定的幫助,需要的朋友可以參考下2024-02-02關(guān)于mysql中時(shí)間日期類型和字符串類型的選擇
大家好,本篇文章主要講的是關(guān)于mysql中時(shí)間日期類型和字符串類型的選擇,感興趣的朋友趕快來看一看吧,希望對(duì)你有幫助2021-11-11MySQL asc、desc數(shù)據(jù)排序的實(shí)現(xiàn)
這篇文章主要介紹了MySQL asc、desc數(shù)據(jù)排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12