從資料庫中查詢資料並按首字母排序

2021-08-06 05:35:14 字數 1080 閱讀 7115

     

在sql語句中,在檢索語句的最後加上乙個order by+排序列名就可以對該列的資料進行排序。排序的方式有兩種:公升序(asc)和降序(dsc)。

前些天修改專案**時發現,按照這種規則實現排序時,只有當資料庫表中的資料為英文時,才可以正確排序,當表中的資料為中文時,就不能按照中文的首字母對資料進行排序。究其原因發現,儲存字段使用的是utf-8字符集,所以在排序時,需要先對排序字段進行轉碼。

以下是在myeclipse上的實現過程:

(1)首先新建乙個mysqllocaldialect類對mysqldialect進行擴充套件

packageutils;

importorg.hibernate.hibernate; 

importorg.hibernate.dialect.mysqldialect; 

importorg.hibernate.dialect.function.sqlfunctiontemplate; 

importorg.hibernate.type.stringtype;

publicclass mysqllocaldialectextendsmysqldialect}

name="hibernateproperties"

>

<

props

>

<

prop

key="hibernate.dialect"

>utils.mysqllocaldialect<

/prop

>

…… <

/props

>

<

/property

>

(3)再寫查詢語句就可以了。

string sql="from courseteacher a where a.worker.workerid=? order by convert_gbk(a.course.name)";

資料庫獲取漢字拼音的首字母的function

create or replace function f trans pinyin capital p name in varchar2 return varchar2 as v compare varchar2 100 v return varchar2 4000 function f nlsso...

資料庫 03 排序查詢

高階3 排序查詢 語法 select 查詢列表 from 表 where 篩選條件 order by 排序列表 asc desc 注 1.預設公升序 2.一般放在最後面,limit字句除外 案例1 查詢員工資訊,要求工資從高到低排序 select from employees order by sa...

如何從資料庫中讀取資料

今天要用資料庫的時候,我發現我竟然忘記了怎麼從資料庫中讀取資料,而查了一圈谷歌,又是非常失望 內容基本就是摘抄了mysqldb和web.py的官方文件,實在是失望。這篇文章先介紹mysqldb和web.py,django以後補上。db mysqldb.connect cursor db.cursor...