MySQL 的CAST()
和CONVERT()
函數(shù)可用來獲取一個類型的值,并產(chǎn)生另一個類型的值。
兩者具體的語法如下:
1
2
|
CAST (value as type); CONVERT (value, type); |
就是CAST(xxx AS 類型), CONVERT(xxx,類型)。
可以轉(zhuǎn)換的類型是有限制的。這個類型可以是以下值其中的一個:
二進制,同帶binary前綴的效果 : BINARY
例如:當使用 like 模糊搜索日期類型的字段時 語句應該是 Create_Time like binary CONCAT(‘%',#{createTime},'%')
- 字符型,可帶參數(shù) : CHAR()
- 日期 : DATE
- 時間: TIME
- 日期時間型 : DATETIME
- 浮點數(shù) : DECIMAL
- 整數(shù) : SIGNED
- 無符號整數(shù) : UNSIGNED
下面舉幾個例子:
例一
1
2
3
4
5
6
7
|
mysql> SELECT CONVERT (‘23 ',SIGNED); +———————-+ | CONVERT(‘23' ,SIGNED) | +———————-+ | 23 | +———————-+ 1 row in set |
這個例子是將varchar類型轉(zhuǎn)化成int類型。
例二
1
2
3
4
5
6
7
|
mysql> SELECT CAST ( '125e342.83' AS signed); + ------------------------------+ | CAST ( '125e342.83' AS signed) | + ------------------------------+ | 125 | + ------------------------------+ 1 row in set |
例三
1
2
3
4
5
6
7
|
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變量中,僅包含單純的日期和單純的時間時,日期存儲的十六進制存儲表示結果。
1
2
3
4
5
6
7
8
9
|
DECLARE @dt datetime --單純的日期 SET @dt= '1900-1-2' SELECT CAST (@dt as binary (8)) --結果: 0x0000000100000000 --單純的時間 SET @dt= '00:00:01' SELECT CAST (@dt as binary (8)) --結果: 0x000000000000012C |
MySQL的類型轉(zhuǎn)換和SQL Server一樣,就是類型參數(shù)有點點不同:CAST(xxx AS 類型) , CONVERT(xxx,類型)。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
原文鏈接:https://blog.csdn.net/u012373815/article/details/52535687