mysql 根據英文首字母來查詢漢字

2021-07-25 11:49:55 字數 1102 閱讀 3017

表如下所示:

需求是在網頁名稱的檢索框內輸入「w」或「w」或「王」,可以檢索出資料庫中name欄位漢字拼音搜字母為「w」或包含漢字為「王」的記錄。

需要修改name欄位的字符集為gb2313,如下圖所示:

sql為:

select c.* from (select *,

char(interval(conv(hex(left(name,1)),16,10),

0xb0a1,0xb0c5,0xb2c1,0xb4ee,0xb6ea,0xb7a2,0xb8c1,0xb9fe,

0xbbf7,0xbbf7,0xbfa6,0xc0ac,0xc2e8,0xc4c3,0xc5b6,0xc5be,

0xc6da,0xc8bb,0xc8f6,0xcbfa,0xcdda,0xcdda,0xcdda,0xcef4,

0xd1b9,0xd4d1)+64) as dxzm,char(interval(conv(hex(left(name,1)),16,10),

0xb0a1,0xb0c5,0xb2c1,0xb4ee,0xb6ea,0xb7a2,0xb8c1,0xb9fe,

0xbbf7,0xbbf7,0xbfa6,0xc0ac,0xc2e8,0xc4c3,0xc5b6,0xc5be,

0xc6da,0xc8bb,0xc8f6,0xcbfa,0xcdda,0xcdda,0xcdda,0xcef4,

0xd1b9,0xd4d1)+96) as xxzm

from employee) c where c.dxzm like

'%w%'

or c.xxzm like

'%w%'

or c.name like

'%王%';

查詢結果為:

中文首字母 排序

因專案需要對通訊錄中的聯絡人進行排序,需要對中文字元進行拼音轉換。其實這個轉換並沒有想象中的那麼難 因為我們只是把中文轉為拼音首字母而已,比如 王 轉換為字母w就可以了,而不需要轉換為完整的拼音wang 對此,我們找到了乙個簡便的解決辦法 乙個老外 中簽名的作者叫george 用c語言寫了乙個pin...

Mysql 按中文首字母排序

在開發中,總會遇到各種 問題,排序的時候要按照中文的首字母排序,這裡就需要我們根據字元的編碼集將漢字排序。參考 在mysql資料庫中,存在很多種字符集儲存方式,比如utf8 latin1等,所以對排序也要根據不同字符集處理。1 如果資料庫表字段的字元編碼是latin1 swedish ci sele...

pinyin中文首字母排序

pinyin中文首字母排序 子木瀟雨 因 專案需要對通訊錄中的聯絡人進行排序,需要對中文字元進行拼音轉換。其實這個轉換並沒有想象中的那麼難 因為我們只是把中文轉為拼音首字母而已,比如 王 轉換為字母w就可以了,而不需要轉換為完整的拼音wang 對此,我們找到了乙個簡便的解決辦法 乙個老外 中簽名的作...