雜談 資料庫sql語句中文排序問題

2021-09-26 09:23:14 字數 716 閱讀 1460

在oracle9i中新增了按照拼音、部首、筆畫排序功能。設定nls_sort值

schinese_radical_m 按照部首(第一順序)、筆劃(第二順序)排序

schinese_stroke_m 按照筆劃(第一順序)、部首(第二順序)排序

schinese_pinyin_m 按照拼音排序,系統的預設排序方式為拼音排序

舉例如下:

表名為 dept ,其中name欄位是中文,下面分別實現按照單位名稱的筆劃、部首和拼音排序。

//按照筆劃排序

select * from dept order by nlssort(name,『nls_sort=schinese_stroke_m』);

//按照部首排序

select * from dept order by nlssort(name,『nls_sort=schinese_radical_m』);

//按照拼音排序,此為系統的預設排序方式

select * from dept order by nlssort(name,『nls_sort=schinese_pinyin_m』);

sqlserver

select * from table order by name collate chinese_prc_cs_as_ks_ws

pg庫:

使用:select *from table order by convert_to(name,『gbk』)

資料庫 SQL語句

在sql語言中,我們可以通過create database去建立資料庫,語法格式如下所示 create database 資料庫名 就比如我們可以建立乙個學校資料庫 create database schooldb 建立表的操作 create table 表名稱 列名稱1 資料型別,列名稱2 資料型...

Sql語句 不支援中文 國外資料庫

由於老美的不支援中文 sql 語句 第一 字段型別改為nvarchar,ntext 第二 強制轉化 n update dbo.role set rolename n 普通使用者 update dbo.type set typetitle n 熱門追風 descrption n 熱門追風 where ...

Day3 資料庫SQL語句 排序

排序 為了方便檢視資料,可以對資料進行排序 語法 select from 表名 order by 列1 asc desc,列2 asc desc,將行資料按照列1進行排序,如果某些行列1的值相同時,則按照列2排序,以此類推 預設按照列值從小到大排列 asc從小到大排列,即公升序 desc從大到小排序...