首頁 資料庫 mysql教程 mysql進階(八)怎麼對varchar類型排序問題

mysql進階(八)怎麼對varchar類型排序問題

Feb 09, 2017 pm 03:27 PM

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)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
PHP程式設計進階:多篇文章按讚功能設計與實現 PHP程式設計進階:多篇文章按讚功能設計與實現 Feb 28, 2024 am 08:03 AM

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

Go語言爬蟲開發的高級技巧:深入應用 Go語言爬蟲開發的高級技巧:深入應用 Jan 30, 2024 am 09:36 AM

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

Oracle資料型別解析:從基礎到進階 Oracle資料型別解析:從基礎到進階 Mar 07, 2024 pm 03:09 PM

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

學習Golang:從入門到精通 學習Golang:從入門到精通 Feb 24, 2024 pm 07:48 PM

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

Go語言正規表示式進階教學:如何使用後向引用 Go語言正規表示式進階教學:如何使用後向引用 Jul 13, 2023 pm 01:43 PM

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

Golang的Template套件進階指南:從入門到精通 Golang的Template套件進階指南:從入門到精通 Jul 17, 2023 pm 12:06 PM

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

PHP閉包、生成器與反射技術的進階應用方法解析 PHP閉包、生成器與反射技術的進階應用方法解析 Sep 13, 2023 am 09:03 AM

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

phpSpider進階指南:如何利用正規表示式擷取網頁內容? phpSpider進階指南:如何利用正規表示式擷取網頁內容? Jul 24, 2023 pm 08:28 PM

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

See all articles