久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL顯式類型轉(zhuǎn)換的示例分析

共計(jì) 3167 個(gè)字符,預(yù)計(jì)需要花費(fèi) 8 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 MySQL 顯式類型轉(zhuǎn)換的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

CAST 函數(shù)

在之前的文章中,我們提到過(guò) CAST 函數(shù),用于顯示進(jìn)行類型轉(zhuǎn)換。在避免隱式類型轉(zhuǎn)換時(shí),好處多多。其實(shí)這里面還有很多細(xì)節(jié),是需要梳理下的。

首先來(lái)看看下面這個(gè)轉(zhuǎn)換:

mysql  SELECT CAST(2017-12-14  AS DATE);
+----------------------------+
| CAST(2017-12-14  AS DATE) |
+----------------------------+
| 2017-12-14 |
+----------------------------+
1 row in set (0.00 sec)

其中:

2017-12-14 是待轉(zhuǎn)換的數(shù)據(jù)。

DATE 為轉(zhuǎn)換后的類型。

標(biāo)準(zhǔn)語(yǔ)法是這樣的:

CAST(expr AS type)

這里需要注意的是 type 類型不支持所有的數(shù)據(jù)類型,而是支持特定的數(shù)據(jù)類型,也是今天這篇文章的重點(diǎn)。(我就吃過(guò)這個(gè)虧,想當(dāng)然的以為支持所有數(shù)據(jù)類型,結(jié)果就被打臉了)。

不支持的報(bào)錯(cuò):

mysql  SELECT CAST(1024  AS int);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near  int)  at line 1

支持的類型

下面是 CAST 函數(shù)支持轉(zhuǎn)換的數(shù)據(jù)類型列表:

類型備注 DATEYYYY-MM-DDDATETIMEYYYY-MM-DD HH:mm:ssTIMEHH:mm:ssDECIMAL 通常用于帶小數(shù)位 CHAR 固定長(zhǎng)度字符串 NCHAR 類型于 CHAR 一致 SIGNED 一個(gè)有符號(hào)的 64 整數(shù)位 UNSIGNED 一個(gè)無(wú)符號(hào)的 64 整數(shù)位 BINARY 二進(jìn)制字符串 JSONMySQL 5.7.8 及更高版本

注意:

其中 DATE 支持的范圍是: 1000-01-01 至 9999-12-31,(實(shí)驗(yàn)版本為:)

如果為: 999-01-01 結(jié)果則會(huì) 0999-01-01。

如果為: 01-01-01 則會(huì)為:2001-01-01。

mysql  select cast(999-11-11  as DATE);
+---------------------------+
| cast(999-11-11  as DATE) |
+---------------------------+
| 0999-11-11 |
+---------------------------+
1 row in set (0.00 sec)
mysql  select cast(01-11-11  as DATE);
+--------------------------+
| cast(01-11-11  as DATE) |
+--------------------------+
| 2001-11-11 |
+--------------------------+
1 row in set (0.00 sec)
mysql  select version();
+-----------+
| version() |
+-----------+
| 5.7.20 |
+-----------+
1 row in set (0.00 sec)

2. CAST 函數(shù)中 expr 的值可以轉(zhuǎn)換為 type,其轉(zhuǎn)換的結(jié)果才正確,否則轉(zhuǎn)換后的結(jié)果默認(rèn)值,如 Null,0 等。

例如:一個(gè) Char 類型轉(zhuǎn)換為 Demical 類型,轉(zhuǎn)換的結(jié)果就為 0。

mysql  SELECT CAST(ANDYQIAN  AS DECIMAL);
+-----------------------------+
| CAST(ANDYQIAN  AS DECIMAL) |
+-----------------------------+
| 0 |
+-----------------------------+
1 row in set, 1 warning (0.00 sec)

轉(zhuǎn)換案例

這里給出一些常用的類型轉(zhuǎn)換例子。

DATE 類型

mysql  select cast(2017-12-14  as DATE);
+----------------------------+
| cast(2017-12-14  as DATE) |
+----------------------------+
| 2017-12-14 |
+----------------------------+
1 row in set (0.00 sec)

TIME 類型

mysql  select cast(12:00:00  as TIME);
+--------------------------+
| cast(12:00:00  as TIME) |
+--------------------------+
| 12:00:00 |
+--------------------------+
1 row in set (0.00 sec)

DATETIM 類型

mysql  select cast(2017-12-14 00:11:11  as DATETIME);
+-----------------------------------------+
| cast(2017-12-14 00:11:11  as DATETIME) |
+-----------------------------------------+
| 2017-12-14 00:11:11 |
+-----------------------------------------+
1 row in set (0.00 sec)

SIGNED 類型

mysql  select cast(-1024  as SIGNED);
+-------------------------+
| cast(-1024  as SIGNED) |
+-------------------------+
| -1024 |
+-------------------------+
1 row in set (0.00 sec)

UNSIGNED 類型

mysql  select cast(-1024  as UNSIGNED);
+---------------------------+
| cast(-1024  as UNSIGNED) |
+---------------------------+
| 18446744073709550592 |
+---------------------------+
1 row in set, 1 warning (0.00 sec)

DECIMAL 類型

mysql  select cast(18.11  as DECIMAL(18,2));
+--------------------------------+
| cast(18.11  as DECIMAL(18,2)) |
+--------------------------------+
| 18.11 |
+--------------------------------+
1 row in set (0.00 sec)

以上是“MySQL 顯式類型轉(zhuǎn)換的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-04發(fā)表,共計(jì)3167字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 瑞丽市| 桃园县| 新津县| 思茅市| 青田县| 元朗区| 武川县| 上饶县| 大余县| 大宁县| 正宁县| 桂林市| 鹿邑县| 太湖县| 那坡县| 潮安县| 富宁县| 丽水市| 杭州市| 吴桥县| 惠东县| 维西| 宜丰县| 双牌县| 霸州市| 财经| 湖北省| 泗阳县| 枣庄市| 铅山县| 江源县| 富裕县| 灵丘县| 承德县| 溧水县| 卢龙县| 开原市| 黄陵县| 万安县| 甘孜| 新泰市|