六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

MySQL顯式分類(lèi)轉(zhuǎn)換案例分享

[摘要]在之前的文章中,我們提到過(guò)CAST函數(shù),用于顯示進(jìn)行類(lèi)型轉(zhuǎn)換。在避免隱式類(lèi)型轉(zhuǎn)換時(shí),好處多多。其實(shí)這里面還有很多細(xì)節(jié),是需要梳理下的。本文主要介紹了MySQL顯式類(lèi)型轉(zhuǎn)換的基礎(chǔ)知識(shí),通過(guò)實(shí)例給出了分...

在之前的文章中,我們提到過(guò)CAST函數(shù),用于顯示進(jìn)行類(lèi)型轉(zhuǎn)換。在避免隱式類(lèi)型轉(zhuǎn)換時(shí),好處多多。其實(shí)這里面還有很多細(xì)節(jié),是需要梳理下的。本文主要介紹了MySQL顯式類(lèi)型轉(zhuǎn)換的基礎(chǔ)知識(shí),通過(guò)實(shí)例給出了分析結(jié)果,一起學(xué)習(xí)下吧。

首先來(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)換后的類(lèi)型。

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

CAST(expr AS type)

這里需要注意的是type類(lèi)型不支持所有的數(shù)據(jù)類(lèi)型,而是支持特定的數(shù)據(jù)類(lèi)型,也是今天這篇文章的重點(diǎn)。(我就吃過(guò)這個(gè)虧,想當(dāng)然的以為支持所有數(shù)據(jù)類(lèi)型,結(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

支持的類(lèi)型

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

類(lèi)型 備注
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH:mm:ss
TIME HH:mm:ss
DECIMAL 通常用于帶小數(shù)位
CHAR 固定長(zhǎng)度字符串
NCHAR 類(lèi)型于CHAR一致
SIGNED 一個(gè)有符號(hào)的64整數(shù)位
UNSIGNED 一個(gè)無(wú)符號(hào)的64整數(shù)位
BINARY 二進(jìn)制字符串
JSON MySQL 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類(lèi)型轉(zhuǎn)換為Demical類(lèi)型,轉(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)換案例

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

DATE 類(lèi)型

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 類(lèi)型

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 類(lèi)型

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類(lèi)型

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

UNSIGNED類(lèi)型

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

DECIMAL類(lèi)型

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)

相關(guān)推薦:

MySQL升級(jí)的最佳方法實(shí)例分享

詳解php封裝Mysql操作類(lèi)

PHP如何解決MySQL存儲(chǔ)數(shù)據(jù)中文亂碼

以上就是MySQL顯式類(lèi)型轉(zhuǎn)換實(shí)例分享的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。




主站蜘蛛池模板: 亚洲丁香网 | 一级黄色片免费播放 | 亚洲男人的天堂久久香蕉网 | 色爱区综合小说 | 在线播放侵犯高傲女教师希崎 | 日本青草| 青草视频污 | 亚洲国产精品欧美日韩一区二区 | 午夜伊人| 网站在线观看免费 | 亚洲精品乱码久久久久久麻豆 | 青青草原在线免费观看视频 | 日韩欧美中国a v | 一级做a爰片久久毛片美女图片 | 日韩 欧美 亚洲 中文字幕 | 亚洲人成影网站~色 | 五月婷视频 | 有码中文字幕在线观看 | 天天爽夜夜爽一区二区三区 | 日韩黄色大片 | 亚洲综合色播 | 深夜福利在线播放 | 天天躁狠狠躁狠狠躁夜夜躁 | 天天综合天天看夜夜添狠狠玩 | 日韩精品一区二区三区中文精品 | 四虎国产免费 | 亚洲第一页综合 | 日韩在线观看免费完整版视频 | 午夜剧院免费 | 日日摸夜夜添夜夜添97 | 青草影院在线观看 | 中文字幕一区在线观看视频 | 欧美一级欧美一级高清 | 日本视频网址 | 日韩欧美黄色 | 日韩中文在线观看 | 日本道在线视频 | 亚洲第一成网站 | 色吊丝欧美 | 欧洲熟色妇 | 天天干亚洲 |