欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql中如何用varchar字符串按照數(shù)字排序

 更新時(shí)間:2023年08月26日 16:20:02   作者:ElenaYu  
這篇文章主要介紹了mysql中用varchar字符串按照數(shù)字排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql用varchar字符串按照數(shù)字排序

問題

對(duì)mysql數(shù)值字符串類型進(jìn)行排序,在默認(rèn)情況下使用order by 字段名稱 desc/asc 進(jìn)行排序的時(shí)候,mysql進(jìn)行的排序規(guī)則是按照ASCII碼進(jìn)行排序的,并不會(huì)自動(dòng)的識(shí)別出這些數(shù)據(jù)是數(shù)值。

如:

L1,L2,L3…L10,L11排序,按照常規(guī)的 desc/asc 進(jìn)行排序,結(jié)果為:L1,L10,L11,L2,L3…table:

執(zhí)行sql:

select * from test order by score asc; 

結(jié)果為:

期望:按照L1,L2,L3…L10,L11…的順序排序

解決

方法1:

select * from test order by score-0 asc;

方法2:

select * from test order by cast(score as signed ) asc;

方法3:

select * from test order by convert(score,signed) asc;

方法4(親測(cè)有效):

select * from test order by substr(score from 2)-0 asc;

以上方法,查詢結(jié)果為:

問題解決!

mysql按數(shù)值大小排序varchar字段

select * from table_name where 1 order by meta_value DESC;  一般用法,當(dāng)排序varchar類型的數(shù)字內(nèi)容時(shí)就會(huì)出現(xiàn)問題;
select * from table_name where 1 order by --meta_value DESC;  這樣就會(huì)按照數(shù)字的大小排序了。

問題是這樣的,當(dāng)我們按由大到小的順序排序一組數(shù)字的時(shí)候,

它應(yīng)該如此:

  • 9800
  • 8000
  • 900

但如果是這些數(shù)字是以varchar類型存儲(chǔ)的話,

直接排序的結(jié)果會(huì)是這樣:

  • 9800
  • 900
  • 8000

解決方案1:

當(dāng)然多數(shù)情況下我們會(huì)把數(shù)字存儲(chǔ)為數(shù)字型,就可避免這一問題。但還是有一些情形,數(shù)字被存儲(chǔ)為varchar。

解決方案2:

- meta_value ASC 。此時(shí)采用的是按meta_value的負(fù)值排序,所以如需得到由大到小的效果,需要使用ASC而非DESC。

當(dāng)然也可以直接用

--meta_value DESC ???????

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL存儲(chǔ)過程的查看與刪除實(shí)例講解

    MySQL存儲(chǔ)過程的查看與刪除實(shí)例講解

    存儲(chǔ)過程存儲(chǔ)過程在創(chuàng)建之后,被保存在服務(wù)器上以供使用,直至被刪除,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過程的查看與刪除的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • mysql獲取排列序號(hào)的三種常用方法小結(jié)

    mysql獲取排列序號(hào)的三種常用方法小結(jié)

    這篇文章主要介紹了mysql獲取排列序號(hào)的三種常用方法,并通過代碼示例和圖文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • MySQL的事務(wù)特性概念梳理總結(jié)

    MySQL的事務(wù)特性概念梳理總結(jié)

    這篇文章主要介紹了MySQL的事務(wù)特性概念梳理總結(jié),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • SQL 列不同的表查詢結(jié)果合并操作

    SQL 列不同的表查詢結(jié)果合并操作

    這篇文章主要介紹了SQL 列不同的表查詢結(jié)果合并操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • mysql主從基于docker和django實(shí)現(xiàn)讀寫分離

    mysql主從基于docker和django實(shí)現(xiàn)讀寫分離

    這篇文章主要介紹了mysql主從基于docker和django實(shí)現(xiàn)讀寫分離,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-08-08
  • MySQL-tpch 測(cè)試工具簡(jiǎn)要手冊(cè)

    MySQL-tpch 測(cè)試工具簡(jiǎn)要手冊(cè)

    tpch是TPC(Transaction Processing Performance Council)組織提供的工具包。用于進(jìn)行OLAP測(cè)試,以評(píng)估商業(yè)分析中決策支持系統(tǒng)(DSS)的性能。它包含了一整套面向商業(yè)的ad-hoc查詢和并發(fā)數(shù)據(jù)修改,強(qiáng)調(diào)測(cè)試的是數(shù)據(jù)庫(kù)、平臺(tái)和I/O性能,關(guān)注查詢能力
    2016-05-05
  • Mysql ERROR 1067: Invalid default value for字段問題

    Mysql ERROR 1067: Invalid default v

    這篇文章主要介紹了Mysql ERROR 1067: Invalid default value for字段問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mysql優(yōu)化的重要參數(shù) key_buffer_size table_cache

    mysql優(yōu)化的重要參數(shù) key_buffer_size table_cache

    MySQL服務(wù)器端的參數(shù)有很多,但是對(duì)于大多數(shù)初學(xué)者來說,眾多的參數(shù)往往使得我們不知所措,但是哪些參數(shù)是需要我們調(diào)整的,哪些對(duì)服務(wù)器的性能影響最大呢
    2016-05-05
  • MySQL之高可用架構(gòu)詳解

    MySQL之高可用架構(gòu)詳解

    大家好,本篇文章主要講的是MySQL之高可用架構(gòu)詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Windows環(huán)境下MySQL 8.0 的安裝、配置與卸載

    Windows環(huán)境下MySQL 8.0 的安裝、配置與卸載

    這篇文章主要介紹了Windows環(huán)境下MySQL 8.0 的安裝、配置與卸載步驟,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論