mysql進階(八)怎麼對varchar類型排序問題
MySQL中怎麼對varchar類型排序問題
asc 升級
desc降序
在MySQL默認order by 只對數字與日期類型可以排序,但對於varchar字符型類型排序好像沒有用了,下面我來給各位下面我來給各位下面我來給各位下面字符同學介紹varchar類型排序問題如何解決。
今天在對國家電話號碼表進行排序的時候發現了一個有趣的問題,我想讓isdcode字段按照由小到大的順序排序,於是乎我是這樣寫的
SELECT * FROM gb_country_isdcode ORDER BY isdcode asc
結果如下,發現竟然不是我想要的結果,asc排序是對的呀,於是乎我找呀找,找呀找,終於找到原因了;
isdcode是varcher類型的,如果排序的直接用asc顯然是不行的,必須將他轉換成int類型然後就可以正常排序了,只要isdcode + 0就可以了
於是乎這樣寫
SELECT * FROM gb_country_isdcode ORDER BY (isdcode+0) asc
好像是想要的那種數據比較大小的了呀。 。可是為什麼+0就好了呢?原來,+0後就轉換INT類型排序了。這樣就可以按照大小排序了。
如果不是電話而是漢字怎麼辦,漢字排序我們只要進行簡單轉換即可排序了。
在mysql中使用order by對存儲了中文信息的字段,默認出來的結果並不是按漢字拼音的順序來排序,要想按漢字的拼音來排序,需要把數據庫的字符集設置為UTF8,然後在order by 時候強制把該欄位資訊轉換成GBK,這樣出來的結果就是依照拼音順序排序的。例如:
SELECT * FROM table_name ORDER BY CONVERT(column_name USING gbk);
在mysql中試了一下,結果很令人滿意。
結論是:查詢的時候,透過convert函數,把查詢出來的資料所使用的字元集gb2312編碼就可以了,然後再使用convert之後的中文排序。但如果真的去把表格中欄位的字元集改成gb2312,又會牽涉到很多編碼的問題,頁面傳值啊,從資料庫存取啊,很麻煩。只要在查詢的時候,指定一下字元集,並不是真的把實體欄位改成gb2312,很簡單。
以上就是的內容,更多相關內容請關注PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

身為PHP開發者,我們經常會遇到需要為網站或應用程式添加點讚功能的需求。本文將介紹如何透過PHP程式設計進階來設計和實作一個多篇文章按讚功能,以及提供具體的程式碼範例。一、功能需求分析在設計多篇文章按讚功能之前,首先需要明確我們的功能需求:使用者可以查看網站上的多篇文章,並對每篇文章進行按讚操作。用戶只能對每篇文章進行一次點贊,當用戶已經點讚過時,不能重複點讚。用

進階技巧:掌握Go語言在爬蟲開發中的進階應用引言:隨著網路的快速發展,網頁上資訊的數量日益龐大。而取得網頁中的有用信息,就需要使用爬蟲。 Go語言作為一門高效、簡潔的程式語言,在爬蟲開發中廣受歡迎。本文將介紹Go語言在爬蟲開發中的一些進階技巧,並提供具體的程式碼範例。一、並發請求在進行爬蟲開發時,我們經常需要同時要求多個頁面,以提高資料的擷取效率。 Go語言中提供

Oracle資料型別解析:從基礎到進階Oracle資料庫是一款強大的關聯式資料庫管理系統,廣泛應用於企業級應用程式開發與資料儲存。在Oracle資料庫中,資料類型是非常重要的概念,它定義了資料儲存的格式和範圍。本文將從基礎到進階,系統地介紹Oracle資料庫中常用的資料類型,包括數值型、字元型、日期型等,並提供具體的程式碼範例幫助讀者更好地理解。一、數值型數

在當今資訊科技發展迅速的時代背景下,程式語言的選擇變得越來越重要。 Golang作為一種由Google開發的現代化程式語言,在其誕生的短短幾年里便迅速崛起並受到了廣泛關注。 Golang以其簡潔高效的特性,廣泛應用於雲端運算、網路程式設計、大數據處理等領域。不過,對於初學者來說,學習新的程式語言往往需要克服一些困難。本文將從基礎知識著手,詳細介紹Golang的學

Go語言正規表示式進階教學:如何使用後向引用正規表示式是一種強大的文字比對工具,它可以幫助我們在字串中快速找到並提取我們想要的資訊。而Go語言也提供了內建的regexp包,來支援正規表示式的使用。在前面的教學中,我們已經學習了一些基本的正規表示式用法,例如匹配字串、字元集合、數量限定符等。現在,我們將進一步了解如何使用後向引用,它可以幫助我們更精準地匹配

Golang的Template套件進階指南:從入門到精通介紹Golang的Template套件是Go語言內建的模板引擎,提供了一種方便和靈活的方式來產生和渲染文字輸出。在這篇文章中,我們將從基礎知識開始,逐步深入,講解如何使用Template包,以及如何透過一些進階技術來優化和擴展你的模板。基礎知識:模板語法在使用Template套件之前,我們需要了解其基礎語法。

PHP閉包、生成器和反射技術的進階應用方法解析概述:在PHP程式設計中,閉包、生成器和反射是強大的特性和技術。它們提供了許多高級和靈活的功能,幫助我們更好地組織和管理程式碼。本文將解析這三個技術的進階應用方法,並提供具體程式碼範例。一、閉包(Closures)的進階應用方法:1.1利用閉包實現「惰性求值」:閉包可以用來實現「惰性求值」的思想,即延遲計算,只有在需要

phpSpider進階指南:如何利用正規表示式擷取網頁內容?前言:在開發網路爬蟲時,我們經常需要從網頁中提取特定的內容。正規表示式是一種強大的工具,可以幫助我們在網頁中進行模式匹配,快速準確地提取所需內容。本文將帶你深入了解如何使用正規表示式在PHP中擷取網頁內容的方法,並附帶實例程式碼。一、正規表示式的基本語法正規表示式是一種用來描述字元模式的方式。使用正規則
