首页 > 数据库技术 > 详细

Oracle取得中文拼音首字母函数

时间:2014-03-12 16:37:11      阅读:650      评论:0      收藏:0      [点我收藏+]

 

bubuko.com,布布扣
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_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 ;
bubuko.com,布布扣
bubuko.com,布布扣
SELECT
    F_TRANS_PINYIN_CAPITAL (
        湖北信业建设项目管理有限公司
    )
FROM
    dual;
bubuko.com,布布扣

bubuko.com,布布扣

Oracle取得中文拼音首字母函数,布布扣,bubuko.com

Oracle取得中文拼音首字母函数

原文:http://www.cnblogs.com/wsw0515/p/3596415.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!