MySQL對(duì)varchar類型數(shù)字進(jìn)行排序的實(shí)現(xiàn)方法
1.問題描述
表中,字段:chapter_number 為varchar,存的值為1,2,3,4,5,10,11,12數(shù)字,進(jìn)行按正序排序時(shí),返回的數(shù)據(jù)為1,10,11,12,2,3,4,5
2.解決方法
your_column :你的字段名
CAST(your_column AS SIGNED);
舉例:
your_table: 你的表名
your_column:你的字段名
SELECT * FROM your_table ORDER BY CAST(your_column AS SIGNED);
3.CAST方法說明
MySQL CAST()函數(shù)用于將值從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種特定數(shù)據(jù)類型。 CAST()函數(shù)接受兩個(gè)參數(shù),即要轉(zhuǎn)換的值和需要將該值轉(zhuǎn)換為的數(shù)據(jù)類型。
可以轉(zhuǎn)換給定值的數(shù)據(jù)類型為:
DATE:用于將值轉(zhuǎn)換為DATE數(shù)據(jù)類型。返回的格式為“YYYY-MM-DD”。
DATETIME:用于將值轉(zhuǎn)換為DATETIME數(shù)據(jù)類型。返回的格式為“ YYYY-MM-DD HH:MM:SS”。
TIME:用于將值轉(zhuǎn)換為TIME數(shù)據(jù)類型。返回的格式為“HH:MM:SS”。
CHAR:用于將值轉(zhuǎn)換為CHAR數(shù)據(jù)類型。
SIGNED:用于將值轉(zhuǎn)換為SIGNED數(shù)據(jù)類型。
UNSIGNED:用于將值轉(zhuǎn)換為UNSIGNED數(shù)據(jù)類型。
BINARY:用于將值轉(zhuǎn)換為BINARY數(shù)據(jù)類型。
用法:
CAST(input_value AS datatype)
使用的參數(shù):
input_value –用于指定需要轉(zhuǎn)換的值。
datatype –它用于指定需要在其中轉(zhuǎn)換值的數(shù)據(jù)類型。
返回值:
轉(zhuǎn)換后,MySQL CAST()函數(shù)返回所需數(shù)據(jù)類型的值。
受支持的MySQL版本:
MySQL 5.7
MySQL 5.6
MySQL 5.5
MySQL 5.1
MySQL 5.0
MySQL 4.1
MySQL 4.0
MySQL 3.23
示例1:實(shí)現(xiàn)CAST()函數(shù)以將值轉(zhuǎn)換為DATE數(shù)據(jù)類型。
SELECT CAST("2019-11-21" AS DATE); 輸出:2019-11-21
示例2:實(shí)現(xiàn)CAST()函數(shù)以將值轉(zhuǎn)換為CHAR數(shù)據(jù)類型。
SELECT CAST(121 AS CHAR); 輸出:121
示例3:實(shí)現(xiàn)CAST()函數(shù)以將值轉(zhuǎn)換為SIGNED數(shù)據(jù)類型。
SELECT CAST(2-4 AS SIGNED); 輸出:-2
示例4:實(shí)現(xiàn)CAST()函數(shù)以將值轉(zhuǎn)換為UNSIGNED數(shù)據(jù)類型。
SELECT CAST(2-4 AS UNSIGNED); 輸出:18446744073709551614
以上就是MySQL對(duì)varchar類型數(shù)字進(jìn)行排序的實(shí)現(xiàn)方法的詳細(xì)內(nèi)容,更多關(guān)于MySQL varchar數(shù)字排序的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mysql 5.7.20\5.7.21 免安裝版安裝配置教程
這篇文章主要為大家詳細(xì)介紹了mysql5.7.20和mysql5.7.21免安裝版安裝配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Mysql保持現(xiàn)有內(nèi)容在后面增加內(nèi)容的sql語句
這篇文章主要介紹了Mysql保持現(xiàn)有內(nèi)容在后面增加內(nèi)容的sql語句,需要的朋友可以參考下2017-05-05MySQL安裝出現(xiàn)starting the server報(bào)錯(cuò)的解決方案
如果電腦是第一次安裝MySQL,一般不會(huì)出現(xiàn)這樣的報(bào)錯(cuò),如下圖所示,本文主要介紹了MySQL安裝出現(xiàn)starting the server報(bào)錯(cuò)的解決方案,感興趣的可以了解一下2024-07-07在MySQL中使用mysqlbinlog flashback的簡(jiǎn)單教程
這篇文章主要介紹了在MySQL中使用mysqlbinlog flashback的簡(jiǎn)單教程,可以很方便地恢復(fù)數(shù)據(jù),作者還列出了使用時(shí)一些需要注意的地方,需要的朋友可以參考下2015-05-05