MySQL 的CAST()
和CONVERT()
函數(shù)可用來獲取一個類型的值,并產(chǎn)生另一個類型的值。
兩者具體的語法如下:
CAST(value as type);
CONVERT(value, type);
就是CAST(xxx AS 類型), CONVERT(xxx,類型)。
可以轉(zhuǎn)換的類型是有限制的。這個類型可以是以下值其中的一個:
二進制,同帶binary前綴的效果 : BINARY
例如:當使用 like 模糊搜索日期類型的字段時 語句應(yīng)該是 Create_Time like binary CONCAT(‘%',#{createTime},'%')
- 字符型,可帶參數(shù) : CHAR()
- 日期 : DATE
- 時間: TIME
- 日期時間型 : DATETIME
- 浮點數(shù) : DECIMAL
- 整數(shù) : SIGNED
- 無符號整數(shù) : UNSIGNED
下面舉幾個例子:
例一
mysql> SELECT CONVERT(‘23',SIGNED);
+———————-+
| CONVERT(‘23',SIGNED) |
+———————-+
| 23 |
+———————-+
1 row in set
這個例子是將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變量中,僅包含單純的日期和單純的時間時,日期存儲的十六進制存儲表示結(jié)果。
DECLARE @dt datetime
--單純的日期
SET @dt='1900-1-2'
SELECT CAST(@dt as binary(8))
--結(jié)果: 0x0000000100000000
--單純的時間
SET @dt='00:00:01'
SELECT CAST(@dt as binary(8))
--結(jié)果: 0x000000000000012C
MySQL的類型轉(zhuǎn)換和SQL Server一樣,就是類型參數(shù)有點點不同:CAST(xxx AS 類型) , CONVERT(xxx,類型)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
您可能感興趣的文章:- Vertx基于EventBus發(fā)送接受自定義對象
- Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解)
- Git撤銷&回滾操作(git reset 和 get revert)
- IDEA連接mysql又報錯!Server returns invalid timezone. Go to tab and set serverTimezone prope的問題
- PIL包中Image模塊的convert()函數(shù)的具體使用
- Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實例
- SpringBoot基于HttpMessageConverter實現(xiàn)全局日期格式化
- 使用IDEA和Gradle構(gòu)建Vertx項目(圖文步驟)
- Vert.x運行環(huán)境搭建流程圖解