mysql擷取漢字首字母

2021-07-11 01:10:06 字數 1291 閱讀 1356

刪除存在的函式

drop function if exists fristpinyin;
建立函式

delimiter $$

create function `firstpinyin`(p_name varchar(255)) returns varchar(255) charset utf8  

deterministic

begin  

declare v_return varchar(255);

declare v_bool int default 0;

declare first_varchar varchar(1);

set first_varchar = left(convert(p_name using gbk),1);

select first_varchar regexp '[a-za-z]' into v_bool;

if v_bool = 1 then

set v_return = first_varchar;

else

set v_return = elt(interval(conv(hex(left(convert(p_name using gbk),1)),16,10),   

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

0xbfa6,0xc0ac,0xc2e8,0xc4c3,0xc5b6,0xc5be,0xc6da,0xc8bb,  

0xc8f6,0xcbfa,0xcdda,0xcef4,0xd1b9,0xd4d1,0xd7fa),   

'a','b','c','d','e','f','g','h','j','k','l','m','n','o','p','q','r','s','t','w','x','y','z');  

end if;

return v_return;

end$$

delimiter;

執行查詢並呼叫函式

select brand_name,firstpinyin(brand_name) firstpinyin from brand_info;
檢視結果

如何想換成大寫結果,將a~z換成a~z

「瀛洲」目前轉換有問題,希望大神可以幫助解決

漢字首字母

在很多軟體中,輸入拼音的首寫字母就可以快速定位到某個詞條。比如,在鐵路售票軟體中,輸入 bj 就可以定位到 北京 怎樣在自己的軟體中實現這個功能呢?問題的關鍵在於 對每個漢字必須能計算出它的拼音首字母。gb2312漢字編碼方式中,一級漢字的3755個是按照拼音順序排列的。我們可以利用這個特徵,對常用...

取漢字首字母

public function hz2py byval hz as string as string dim sarr as byte system.text.encoding.default.getbytes hz dim len as integer sarr.length if len 1 t...

提取漢字首字母

using system using system.collections.generic using system.text namespace stringoption return mystr 把提取的字母變成大寫 需要轉換的字串 轉換結果 public static string getlo...