mysql如何對(duì)String類型的數(shù)字值排序
mysql對(duì)String類型的數(shù)字值排序
正常
SELECT current_box_num, total_box_num FROM jis_order WHERE delete_flag = 0 AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) ORDER BY total_box_num asc
查詢結(jié)果
但如果total_box_num字段類型是String的話排序就會(huì)有問題, 需要在字段前加 --
SELECT current_box_num, total_box_num FROM jis_order WHERE delete_flag = 0 AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) ORDER BY --total_box_num asc
查詢結(jié)果
或者
SELECT current_box_num, total_box_num FROM jis_order WHERE delete_flag = 0 AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) ORDER BY total_box_num+0 asc
mysql字符串?dāng)?shù)字排序
如果您的 MySQL 數(shù)據(jù)庫(kù)中的字符串只包含數(shù)字并且您想按數(shù)字順序?qū)λ鼈冞M(jìn)行排序,可以使用 MySQL 內(nèi)置的 CAST() 函數(shù)將字符串轉(zhuǎn)換為數(shù)字,然后對(duì)數(shù)字進(jìn)行排序。
例如:
假設(shè)您有一個(gè)名為 mytable 的表,其中包含一個(gè)名為 mycolumn 的列,該列包含字符串?dāng)?shù)字,您可以使用以下查詢對(duì)它們進(jìn)行排序:
SELECT mycolumn FROM mytable ORDER BY CAST(mycolumn AS UNSIGNED) ASC;
這將按升序順序返回 mytable 中的所有行,并將 mycolumn 中的字符串?dāng)?shù)字轉(zhuǎn)換為無符號(hào)整數(shù)進(jìn)行排序。
如果您想按降序順序?qū)λ鼈冞M(jìn)行排序,可以將 ASC 替換為 DESC。
請(qǐng)注意,如果 mycolumn 中包含非數(shù)字字符,則 CAST() 函數(shù)將返回 0。
因此,如果您的列中包含其他字符,則可能需要使用其他方法來排序。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql數(shù)據(jù)庫(kù)和oracle數(shù)據(jù)庫(kù)之間互相導(dǎo)入備份
今天小編就為大家分享一篇關(guān)于mysql數(shù)據(jù)庫(kù)和oracle數(shù)據(jù)庫(kù)之間互相導(dǎo)入備份,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04mysql出現(xiàn)“Incorrect key file for table”處理方法
今天在恢復(fù)一個(gè)客戶數(shù)據(jù)的時(shí)候。發(fā)現(xiàn)了一貫問題。有多個(gè)表?yè)p壞了。因?yàn)槎际侵苯影驯韽?fù)制進(jìn)去的。然后就出現(xiàn)了這個(gè)問題問題2013-07-07使用SQL實(shí)現(xiàn)按每小時(shí)統(tǒng)計(jì)數(shù)據(jù)
在數(shù)據(jù)分析和報(bào)表生成中,按小時(shí)統(tǒng)計(jì)數(shù)據(jù)是一個(gè)常見的需求,因?yàn)樾r(shí)級(jí)別的數(shù)據(jù)統(tǒng)計(jì)都能提供細(xì)致且有價(jià)值的信息,下面我們就來看看具體實(shí)現(xiàn)方法吧2024-11-11MySQL 中 datetime 和 timestamp 的區(qū)別與選擇
MySQL 中常用的兩種時(shí)間儲(chǔ)存類型分別是datetime和 timestamp。如何在它們之間選擇是建表時(shí)必要的考慮。下面就談?wù)勊麄兊膮^(qū)別和怎么選擇,需要的朋友可以參考一下2021-09-09mysql 啟動(dòng)1067錯(cuò)誤及修改字符集重啟之后復(fù)原無效問題
這篇文章主要介紹了mysql 啟動(dòng)1067錯(cuò)誤及修改字符集重啟之后復(fù)原無效問題,需要的朋友可以參考下2017-10-10Navicat Premiun遠(yuǎn)程連接MySQL報(bào)錯(cuò)10038解決方案
這篇文章主要介紹了Navicat Premiun遠(yuǎn)程連接MySQL報(bào)錯(cuò)10038解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11mysqldump數(shù)據(jù)庫(kù)備份參數(shù)詳解
這篇文章主要介紹了mysqldump數(shù)據(jù)庫(kù)備份參數(shù)詳解,需要的朋友可以參考下2014-05-05簡(jiǎn)單談?wù)凪ySQL的loose index scan
各種資料關(guān)于loose index scan的解釋很拗口,其實(shí)等同于oracle的index skip scan。今天我們就來詳細(xì)看看loose index scan的使用2015-12-12