oralce中漢字轉為拼音首字母的函式(轉)
CREATE OR REPLACE FUNCTION "SCOTT"."F_PINYIN"(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS
V_COMPARE VARCHAR2(100);
V_RETURN VARCHAR2(4000);
FUNCTION F_NLSSORT(P_WORD IN VARCHAR2) RETURN VARCHAR2 AS
BEGIN
RETURN NLSSORT(P_WORD, 'NLS_SORT=SCHINESE_PINYIN_M');
END;
BEGIN
FOR I IN 1..LENGTH(P_NAME) LOOP
V_COMPARE := F_NLSSORT(SUBSTR(P_NAME, I, 1));
IF V_COMPARE >= F_NLSSORT('吖 ') AND V_COMPARE <= F_NLSSORT('驁') THEN
V_RETURN := V_RETURN || 'A';
ELSIF V_COMPARE >= F_NLSSORT('八 ') AND V_COMPARE <= F_NLSSORT('簿') THEN
V_RETURN := V_RETURN || 'B';
ELSIF V_COMPARE >= F_NLSSORT('嚓 ') AND V_COMPARE <= F_NLSSORT('錯') THEN
V_RETURN := V_RETURN || 'C';
ELSIF V_COMPARE >= F_NLSSORT('咑 ') AND V_COMPARE <= F_NLSSORT('鵽') THEN
V_RETURN := V_RETURN || 'D';
ELSIF V_COMPARE >= F_NLSSORT('妸 ') AND V_COMPARE <= F_NLSSORT('樲') THEN
V_RETURN := V_RETURN || 'E';
ELSIF V_COMPARE >= F_NLSSORT('發 ') AND V_COMPARE <= F_NLSSORT('猤') THEN
V_RETURN := V_RETURN || 'F';
ELSIF V_COMPARE >= F_NLSSORT('旮 ') AND V_COMPARE <= F_NLSSORT('腂') THEN
V_RETURN := V_RETURN || 'G';
ELSIF V_COMPARE >= F_NLSSORT('妎 ') AND V_COMPARE <= F_NLSSORT('夻') THEN
V_RETURN := V_RETURN || 'H';
ELSIF V_COMPARE >= F_NLSSORT('丌 ') AND V_COMPARE <= F_NLSSORT('攈') THEN
V_RETURN := V_RETURN || 'J';
ELSIF V_COMPARE >= F_NLSSORT('咔 ') AND V_COMPARE <= F_NLSSORT('穒') THEN
V_RETURN := V_RETURN || 'K';
ELSIF V_COMPARE >= F_NLSSORT('垃 ') AND V_COMPARE <= F_NLSSORT('擽') THEN
V_RETURN := V_RETURN || 'L';
ELSIF V_COMPARE >= F_NLSSORT('嘸 ') AND V_COMPARE <= F_NLSSORT('椧') THEN
V_RETURN := V_RETURN || 'M';
ELSIF V_COMPARE >= F_NLSSORT('拏 ') AND V_COMPARE <= F_NLSSORT('瘧') THEN
V_RETURN := V_RETURN || 'N';
ELSIF V_COMPARE >= F_NLSSORT('筽 ') AND V_COMPARE <= F_NLSSORT('漚') THEN
V_RETURN := V_RETURN || 'O';
ELSIF V_COMPARE >= F_NLSSORT('妑 ') AND V_COMPARE <= F_NLSSORT('曝') THEN
V_RETURN := V_RETURN || 'P';
ELSIF V_COMPARE >= F_NLSSORT('七 ') AND V_COMPARE <= F_NLSSORT('裠') THEN
V_RETURN := V_RETURN || 'Q';
ELSIF V_COMPARE >= F_NLSSORT('亽 ') AND V_COMPARE <= F_NLSSORT('鶸') THEN
V_RETURN := V_RETURN || 'R';
ELSIF V_COMPARE >= F_NLSSORT('仨 ') AND V_COMPARE <= F_NLSSORT('蜶') THEN
V_RETURN := V_RETURN || 'S';
ELSIF V_COMPARE >= F_NLSSORT('侤 ') AND V_COMPARE <= F_NLSSORT('籜') THEN
V_RETURN := V_RETURN || 'T';
ELSIF V_COMPARE >= F_NLSSORT('屲 ') AND V_COMPARE <= F_NLSSORT('鶩') THEN
V_RETURN := V_RETURN || 'W';
ELSIF V_COMPARE >= F_NLSSORT('夕 ') AND V_COMPARE <= F_NLSSORT('鑂') THEN
V_RETURN := V_RETURN || 'X';
ELSIF V_COMPARE >= F_NLSSORT('丫 ') AND V_COMPARE <= F_NLSSORT('韻') THEN
V_RETURN := V_RETURN || 'Y';
ELSIF V_COMPARE >= F_NLSSORT('帀 ') AND V_COMPARE <= F_NLSSORT('咗') THEN
V_RETURN := V_RETURN || 'Z';
END IF;
END LOOP;
RETURN V_RETURN;
END;
在這個函式中,使用到內部的一個排序函式,f_nlssort
這個函式可以按照漢字的字母進行排序
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28803801/viewspace-773288/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE SQL函式中文漢字轉拼音首字母OracleSQL函式
- [轉]SQL獲取漢字拼音首字母函式SQL函式
- 取漢字的拼音首字母的SQL函式SQL函式
- DB2中建立漢字拼音首字母的SQL函式DB2SQL函式
- C#中漢字轉拼音C#
- 簡單方法在C#中取得漢字的拼音的首字母(轉)C#
- php獲取漢字的拼音 拼音首字母PHP
- js漢字轉換為拼音功能JS
- xpinyin:漢字轉換為拼音庫
- oracle 外部表 漢字轉換為拼音Oracle
- C# 漢字轉拼音 使用微軟的Visual Studio International Pack 類庫提取漢字拼音首字母C#微軟
- iOS漢字轉拼音的方法iOS
- C#漢字轉漢語拼音C#
- JS 漢字轉換拼音JS
- 漢字轉拼音pl/sqlSQL
- 在Excel中如何獲取漢字拼音首字母?Excel
- 在vc中實現獲取漢字拼音的首字母
- Python 漢字轉拼音的庫--- PyPinyinPython
- 小談漢字轉換成拼音輔助函式和輔助類函式
- JavaPinyin4j(漢字轉拼音)JavaAPI
- php 漢字轉換成拼音 程式PHP
- C#中取得漢語拼音首字母C#
- 很有趣的,漢字轉換為其發音的首字母
- ThinkPHP 漢字轉成多種形式拼音PHP
- js將漢字轉換為拼音程式碼例項JS
- 返回字串的拼音首字母 (轉)字串
- Java下將漢字轉換為拼音的包pinyin4jJava
- python3實現漢字轉拼音Python
- Hanlp漢字轉拼音使用python呼叫詳解HanLPPython
- JavaScript 漢字與拼音互轉終極方案 附JS拼音輸入法JavaScriptJS
- 摘抄Excel和FoxPro獲取漢字拼音首字母縮寫的方法.Excel
- 【NLSSORT】改變Oralce 對簡體漢字的排序規則(拼音、部首、筆畫)排序
- Sql Server資料庫漢字按字母、筆劃、拼音首字母、排序SQLServer資料庫排序
- mysql 中如何取得漢字欄位的各漢字首字母MySql
- PHP 將數字轉換為漢字PHP
- Android環境下hanlp漢字轉拼音功能的使用介紹AndroidHanLP
- 如何獲取漢字拼音首字母?一般用於通訊錄
- 寫了一個數字轉成簡 / 繁體漢字的助手函式函式