獲取漢字串的拼音助記碼

lishiran發表於2007-03-20
CREATE OR REPLACE FUNCTION FUN_SPELLCODE(PRM_SPELL IN VARCHAR2)
RETURN VARCHAR2[@more@]

/*--------------------------------------------------------------------------
|| 業務環節 : 公共類_獲取漢字串的拼音助記碼
|| 函式名稱 fun_SpellCode
|| 功能描述 :拼音碼轉換函式,根據傳入字串,產生不超過20為的拼音助記碼
|| 使用場合 :
|| 引數描述 :標識 名稱 輸入輸出 資料型別
|| ---------------------------------------------------------------
|| prm_spell 漢字串 輸入 VARCHAR2
||
|| 引數說明 :標識 詳細說明
|| ---------------------------------------------------------------
||
||---------------------------------------------------------------------------
|| 修改記錄
||---------------------------------------------------------------------------
|| 修 改 人 :××× 修改日期 :YYYY-MM-DD
|| 修改描述 :
||-------------------------------------------------------------------------*/
IS
SPELLCODE VARCHAR2(20);
INSPELL VARCHAR2(1000);
V_BITCHAR VARCHAR2(2);
V_BITNUM INTEGER;
V_CHRNUM INTEGER;
V_STDSTR VARCHAR2(50):='芭擦搭蛾發噶哈擊-喀垃媽拿哦啪期然撒塌挖-挖昔壓匝';
V_CHARA VARCHAR2(2000):='吖錒錒嗄鑀鑀捱噯躷﨟譪靄祉拎涉汝予ㄙ岠徸r鑀鱫靉桉庵諳誝鞌諳闇鮟鵪韽鶕雸埯銨隌揞銨犴豻貋錌黯醠坳軪隞嗷廒獒遨謷鰲鏖鰲鷔鼇拗媼镺岙驁謸鏊鵪聱螯';
V_CHARB VARCHAR2(2000):='岜粑釟豝䰾魞茇釛菝軷颰魃鼥鈀鈀跁鮁鮁灞掰捭唄鞁贁韛頒辬阪坂鈑舨鈑魬闆鉡靽辦浜邫鞤蒡謗鎊勹孢煲齙闁齙葆飹飽鳵鴇賲靌趵鉋鉋靤鮑鑤陂鵯鉳貝邶悖鄁軰碚蓓誖輩鋇鞴鐾賁逩賁錛錛畚坌輽閍嘣鞛逬跰甏鏰鏰豍鰏鎞鵖鰏荸匕吡妣秕俾舭貏詖邲畀嗶蓽狴鉍婢庳萆閇閉弼愎貱贔潷蹕鉍閟飶鄪嬖薜鮅濞蹕鞞髀璧鄨襞鏎鞸韠躃躄魓贔鐴鷝鷩鼊砭煸邉鍽鯿邊鯾鯿匾貶碥鴘弁忭汴苄釆拚緶閞辡頨辧辪辮辯變灬杓颮髟颮驃麃鏢飆飈颷謤贆鏢鑣飆飇飈飊鑣婊諘錶鰾鰾鱉鼈龞蹩邠儐繽檳豩賓賔鑌豳霦桀犻腚鼢器摁W冫鋲邴陃稟鈵鉼鞆餅餠摒誁鮩靐餑啵沭G蹳鱍孛郣亳鈸鈸鉑鮊踣鋍鎛鮊豰鎛鵓礴鑮跛簸擘檗譒逋鈽晡鈽誧餔轐醭卟鳪鵏鸔鈽瓿鈽踄郶鵓瘢癍裱褙褊篦箅篳籩蝙褓裨窆瘭鴇鵯';
V_CHARC VARCHAR2(2000):='嚓礤遪財跴飡驂黲黲粲璨謲傖鶬鶬鑶賶嘈漕艚鏪艹鄵鼜惻岑涔噌杈餷銟鍤鍤駙?x槎檫蹅鑔鑔汊奼釵釵儕辿覘鋓嬋孱禪誗鋋廛潺鄽鐔酁躔鑱讒鑱諂蕆諂閳囅醦譂鏟闡讇懺羼韂顫倀娼菖閶錩錩閶鯧鯧鼚萇長镸徜嫦鋿鱨鏛鱨昶惝氅鋹悵鬯誯韔怊焯鈔晁鄛鼂轈鼂謿麨車硨屮坼迠頙抻琛嗔諃賝謓迧宸陳諶軙愴徶R麎鷐趻磣踸贂齔趂櫬齓齔讖讖阷檉鐺赬靗瞠赬頳鏳鏿鐺丞棖郕埕鋮塍掙ㄤ咍撨覯鬣玩收v鴟鵄魑齝麶黐茌赿貾遅趍遟墀踟遲謘豉鉹齒彳叱飭迣敕啻飭傺跮鉓雴遫銐趩鶒鷘忡茺舂憧艟蹖隀銃銃儔幬惆酧雔讎躊醻讎讐醜魗遚樗貙齣芻豠趎鉏鋤雛躕鶵躕杵楮齭齼亍怵絀豖鄐踀閦諔憷黜搋啜嘬踹巛氚舡遄輲舛釧釧賗鶨闖愴龡陲棰槌錘鎚顀輴鰆鶞陙蓴醕錞鯙鶉賰踳踔辶辵逴輟酫趠輟齪齪鑡齱呲趀祠茈辝鈶餈辤飺餈鴜辭?]跐賜蓯樅驄璁鏦淙琮誴賨賩謥楱腠輳輳麁麄麤徂殂猝酢蔟誎趗踧蹙鼀蹴蹵顣汆攛鑹躥鑹爨榱鏙璀趡啐悴萃毳顇邨踆忖遳蹉醝嵯矬鹺鹺齹脞厝逪銼銼錯澶瘥隹篪笞蚩蠆耖皴褫褚裎衩瘳蟾螬螭蝽蜍蟶瘛痤鴟驏鷀鶉膪';
V_CHARD VARCHAR2(2000):='噠耷嗒鎝迏迖妲怛沓逹達躂靼韃鎉躂鐽韃龖龘呔軑岱甙紿迨玳軑埭軚貸軩貘l黛蹛霴黱靆眈躭酖殫鄲頕儋黕啖萏誕澹鴠贉霮讜譡黨讜凼宕碭菪逿雼趤闣刂叨忉氘釖魛魛隯﨩隝隯燾軇纛鎝鎝豋噔簦戥鄧隥嶝磴鐙鐙羝隄趆嘀鏑鍉鞮鏑糴荻覿靮頔魡豴鸐氐詆邸阺坻柢砥軧骶鯳娣逓諦釱棣睇遞鉪碲遰諦踶嗲蹎巔顚顛齻踮點阽坫玷鈿鈿電簟貂鳭鮉鯛鼦鯛鵰釣銱鈟銱雿調鋽鑃垤喋堞揲趃牒镻諜蹀鰈鰈仃玎酊釘靪頂鼑鐤飣啶腚碇錠顁銩颩銩咚崬氡鮗鼕鯟鶇鶫諌垌峒腖迵胴硐霘蔸阧鈄﨣鈄郖鬥酘閗鬦鋀餖闘鬪鬬鬭闍嘟醏闍瀆櫝牘読錖黷讀豄贕韣髑鑟韇韥黷讟賭芏靯鍍鍴椴煅鍛躖頧鴭鐜懟陮隊碓憝鐓譈鐓譵礅蹾盹躉躉沌燉砘逇鈍頓遯踲咄鐸鈬踱鮵鐸哚綞趓躱軃鬌沲陊陏跢跥飿鵽瓞籪篼簞蚪聃耵耋褡裰襠竇癲癜癉笪篤蠹疸疔鶇';
V_CHARE VARCHAR2(2000):='屙迗莪鈋鋨誐鋨頟魤額鵝鵞譌婀鵈阨呃苊阸軛堊諤軛閼愕萼豟軶遌顎鍔遻頞餓噩諤閼鍔鱷顎鰐鶚讍鑩顎鱷蒽摁鞥陑輀鮞隭鮞鴯轜邇珥鉺鉺餌邇趰佴貮貳鴯顎鶚';
V_CHARF VARCHAR2(2000):='醗垡閥砝鍅幡轓颿飜鱕釩蕃燔蹯蘩鐇鷭辺畈軓梵販軬飯飰匚邡枋鍅趽鍅錺鴋魴魴彷舫鶭妃飛緋扉靟霏鯡鯡飝淝腓悱斐榧翡誹狒費鐨鼣鐨靅玢躮鈖雰棼隫魵鳻豶鼢鼖豶轒鐼黂黺僨鱝瀵鱝灃碸風葑鄷鋒豐鎽鏠酆靊飌麷唪諷俸賵鳯鳳鴌賵雬鴀邞呋趺酜麩稃跗鈇鄜豧鳺麩麬麱鳧孚芙芾怫紱紼苻祓罘茯郛韍鳬砩莩匐桴艴菔﨓鉘鉜颫鳧韍幞鴔諨踾輻鮄鮲黻鵩鶝嘸拊郙釡滏輔鬴黼阝駙負陚鮒賻賦輹鮒賻鍑鍢鰒鰒馥篚蚨蜚蝠缶蝮蜉痱';
V_CHARG VARCHAR2(2000):='旮伽釓尜釓錷尕尬魀郂陔垓賅隑豥賅賌鎅丐鈣戤迀坩泔苷酐尷鳱魐秊澉趕橄擀鱤鱤旰矸紺淦贛阬罡釭鋼鎠戇槔睪韟鷎鼛鷱杲縞槁藁鎬誥郜鋯誥鋯圪紇閤鴐鴚謌鴿鎶鬲嗝塥搿膈閣鎘鞈韐骼諽輵鮯鎘韚轕鞷鰪哿舸硌鉻哏亙艮茛賡鶊賡鶊郠哽綆鯁鯁肱觥躳龏龔廾珙蒽栘曏C佝緱鈎鉤韝韝岣枸豿詬媾彀遘雊覯購軲菰觚軱軲酤轂鈲鮕鴣轂鶻鶻汩詁牯罟逧鈷鈷鼔嘏臌瞽鵠崮梏牿錮頋錮鯝鯝顧胍颪趏銽颳鴰呱卦詿倌関闗鰥關鰥鱞輨錧躀䲘摜涫貫遦盥雚鏆鑵鸛鱹咣桄胱輄銧黆獷媯邽郌閨鮭鮭龜鬹鬹蘒宄庋匭陒軌晷劌炅貴鱖鞼鱖鱥丨袞緄磙輥鯀鮌鯀謴咼堝崞鈛鍋幗摑虢馘猓槨輠餜鐹過簋篝筻笱蟈蜾蛄蚣虼聒矜袼疳鸛鵠痼鴰鴣皈';
V_CHARH VARCHAR2(2000):='鉿鉿嗨胲酼醢餀頇谽魽鼾邗晗焓鋡韓豃鬫貽這F檗?I鋎頷顄譀雗瀚鶾魧迒絎貥頏沆蒿嚆薅嗥濠譹昊灝顥鰝訶嗬劾郃曷盍齕貈鉌闔魺閡鶡麧頜翮魺闔鞨齕鶡鑉龢隺賀壑鶴齃靍靎鸖靏?曡扃覃a鴴鵆蘅鑅訇軣谾薨輷鍧轟閎泓葒谹鈜閎谼鉷鞃魟鋐蕻霐黌霟鴻黌訌閧銾闀闂酏J銗餱骺鍭鱘C後逅鄇堠豞鱟鮜鮜鱟烀軤唿惚軤雽滹雐謼囫斛猢煳槲魱醐頶觳鍸鬍鰗鶘鶦鶮滸琥錿鯱冱岵怙戽祜扈鄠鳸鍙護鱯韄頀鱯鸌誮錵驊鏵鋘譁鏵鷨樺諙諣黊踝鴅鵍酄獾貛讙郇洹萑雈貆鍰闤寰繯還豲鍰鐶䴉轘闤鐶鬟輐奐浣逭漶鯇擐鯇鯶鰀肓隍黃徨湟遑潢鍠璜諻鍠鰉趪韹鐄鰉鱑鷬謊鎤詼咴暉琿豗隓輝麾隳鰴洄茴迴逥鮰譭噦澮薈恚檜彗喙繢闠賄誨蕙諱頮譓譮鏸闠鐬靧韢譿顪閽閽餛餛轋鼲諢溷諢鍃劐鍃攉邩鈥鈥夥閄貨嗀謋雘鑊嚯藿鑊靃皓篌篁蠔虺顥頷頜頏頇耠癀笏蠖蟪蟥蚵蚶瘊鸌鶘瓠';
V_CHARJ VARCHAR2(2000):='丌嘰乩璣芨磯咭剞唧屐飢嵇犄齎躋鳮銈畿賫躸齏墼錤隮羈賷鄿雞譏韲鶏譤鐖躋鞿鷄齎鑇鑙齏鸄岌亟佶郆﨤谻戢殛楫蒺趌銡蕺踖鞊鶺輯蹐鍓轚鏶霵鶺鷑躤雦雧掎魢戟嵴麂魢彐芰嚌洎覬偈跡際暨誋跽霽鱭諅鯽髻鮆蹟鯽鵋齌驥鯚鱀霽鰶鰿鱭迦浹珈袈葭跏鉫鎵豭貑鎵麚岬郟郟恝戛鋏跲餄鋏頬頰鴶鵊胛賈鉀戔菅豜湔犍間靬搛縑蒹豣鰹鳽鋻鞬麉韉鰜鵳鰔譼鰜鶼韀鰹鑯韉囝梘趼瞼鐧譾戩翦謇蹇謭鬋鰎鹸鐗鐧鹻譾鹼牮諫釼楗毽腱跈閒賎僭諓賤趝踐踺諫鍵餞鍳鏩轞鑑鑒鑬鑳茳豇韁鱂礓眵F講顜洚絳犟醤糨醬謽艽姣茭跤僬鮫鮫鵁轇鐎鷦鷮佼撟湫敫賋踋鉸餃徼鵤譑鱎嶠較噍趭轎醮譥釂階喈嗟鞂鶛卩孑訐詰拮迼桀婕鉣魝碣鮚羯誱踕頡鍻鮚飷骱誡魪釒釒鹶黅巹堇廑饉槿瑾逯旀≥j徇M縉覲噤賮贐齽涇旌菁腈鵛鯨鶁鶄麖鼱麠阱剄肼儆憬頸弳逕脛逕婧靚獍誩踁頚靚靜鏡冂扃迥逈熲顈赳鬮啾鳩鬏鬮镹韮柩桕僦鯦麔齨鷲苴陱掬椐琚趄跔鋦雎諊踘鋦鮈鴡鞫鶋郹輂跼趜躹閰橘鵙蹫鵴鶪鼰鼳莒櫸榘齟﨔踽齟詎苣邭鉅倨犋跙鉅颶豦屨鮔遽鋸颶瞿貗躆醵鐻涓鋑鋗鐫鎸鵑鐫蠲錈錈桊狷雋鄄雋飬餋噘孓珏崛桷觖赽趹逫厥趉鈌劂譎獗蕨鴂鴃噱橛镼钁譎蹶蹷鶌矍鐍鐝爝鷢龣貜躩钁軍鈞銁銞鮶麇鍕鮶麏麕陖捃餕鵔鵕鵘稷鶼癤瘕筠笈蛟蛺蚧蟣頡皸裾襉袷衿窶瘠痂鷲笳筧笄耩鷦鳩皎';
V_CHARK VARCHAR2(2000):='咔佧胩鉲鉲開鉲剴塏愷闓鎧蒈輆鍇鍇鎧闓颽愾鎎龕戡龕侃莰輡轁顑轗闞瞰闞躿鏮鱇伉邟閌鈧鈧閌尻栲銬犒銬鮳鮳鯌珂軻趷鈳軻稞鈳瞌頦醘顆髁岢恪氪騍緙嗑溘錁課錁豤貇錹鏗誙銵鍞鏗倥崆躻躼錓鵼鞚芤瞘叩釦蔻鷇刳郀堀跍骷鮬絝嚳誇侉銙蒯鄶噲獪膾鱠鄶鱠髖鑧誆邼哐誆軭誑軖軠誑?炮髹坻?苜L軦鉱鋛鄺黋鑛悝闚顝逵鄈頄馗喹揆暌睽頯鍨鍷夔躨跬頍蹞匱喟憒蕢謉鐀鑎琨錕髡鵾醌錕鯤鯤鵾鶤悃閫閫閸栝頢闊鞟韕霩鞹鬠痾蛞簣箜筘蝌蝰頦裉窠聵';
V_CHARL VARCHAR2(2000):='邋旯砬剌辢鬎鑞鯻鑞鞡崍徠淶郲逨錸錸鯠鶆麳賚睞賚瀨賴頼顂鵣籟嵐斕鑭闌譋讕躝鑭钄韊欖漤罱醂啷郎郞莨稂鋃郒躴鋃鎯閬誏閬蒗嘮嶗鐒醪鐒顟栳銠銠鮱轑軂仂阞叻泐韷鰳鰳餎嫘縲檑羸鐳轠鑘靁鱩鼺誄誄讄鑸鸓酹銇頛頪錑纇類嘞塄踜愣驪喱縭蘺嫠貍鋫鱺罹錅謧醨藜邌釐離鯏璉P鵹黧鑗鱺鸝礼俚娌邐鋰豊裏鋰澧鯉醴鱧邐鱧嚦壢藶戾櫪儷櫟陂鮪??螺班︳項乎撒ㄤ嚆W鳨隷鴗隸麗酈鷅麜躒轢讈轣靂鱱靋奩連鰱濂臁蹥謰鎌譧鬑鐮鰱璉蘞鄻孌殮楝瀲錬鍊鏈鰊凉椋輬墚踉輬魎魎輌諒輛鍄蹽嘹寮獠繚遼豂賿蹘鐐飉鷯釕釕鄝蓼镽尥咧冽洌迾埒捩趔颲鮤鴷躐鬛鬣鱲啉粼鄰隣隣嶙遴轔瞵麐轔鏻麟鱗廩懍檁顲賃藺膦閵蹸躪苘k轥囹泠苓柃瓴鴒欞綾翎跉軨鈴閝輘霊錂霗魿鯪鴒鹷霛霝齢酃鯪齡醽靈麢龗阾領呤熘瀏旒遛騮飀鎦鶹鏐鎏鎦麍鏐飀鐂飅鰡鶹綹鋶鋶蹓霤雡飂鬸鷚瀧蘢櫳瓏朧礱龍鏧霳龒龓豅躘鑨靇鸗壠隴贚僂嘍蔞遱謱軁髏鞻嶁鏤鏤嚕擼壚瀘櫨臚轤艫鈩鱸魲轤鑪顱鱸鸕黸鹵魯櫓鎦鏀鐪鎦輅陸淥逯賂輅漉趢踛轆醁錄録錴璐鴼蹗轆鏕鯥鵦鵱鏴鷺氌閭櫚閭鷜郘穭膂鋁鑢欒臠鑾鵉鑾鸞釠鋝鋝鋢圇陯踚輪錀鯩論捋頱玀腡欏鏍鏍邏鸁鑼倮躶蠃濼犖珞摞漯雒鮥鸕鷯簏篥笠蠡蠊螻螂蜊蛉蠣聆癩癃瘰瘻瘌癆癧癘鷺鷚鸞耬耮耒襤褸襝褳鸝';
V_CHARM VARCHAR2(2000):='嬤獁遤鎷鷌鰢榪閁嘜鬕霾蕒買鷶勱麥賣邁霢霢顢鞔鰻鬗鬘鰻鏋鄤墁幔縵熳鏝謾鏝邙硭釯鋩鋩漭貓犛旄軞酕髦錨鶜峁泖茆昴鉚耄袤貿鄚瑁瞀鄮懋莓郿嵋湄猸楣鋂鋂鋂鶥黴浼躾鎂黣跊鬽韎魅捫鍆門閅鍆燜懣雺甍瞢鄳鄸朦礞鯍艨鸏靀顭鸏勐艋錳懵鯭鼆霥霿踎咪禰獼謎縻麊麋麛蘼镾醾醿鸍釄羋弭敉脒銤冖糸汨宓謐嘧鼏謐宀沔黽眄湎靦鮸靣麵麫麵麵喵鶓鱙杪眇淼緲邈乜咩鴓鑖鱴岷玟苠珉緡鈱賯錉鴖鍲閔泯閔愍黽閩鰵鰵茗冥鄍溟暝銘鳴瞑酩繆謬謨嫫饃麼麼魹謨謩譕麿歿茉秣貃驀貊銆靺鏌魩黙貘鏌哞侔眸鉾囑束滭E毪鉧踇仫沐坶苜鉬雮鉬霂鞪鶓袂鶥蠓蟊蟆蟒蟎蝥蜢蛑虻篾蠛顢耱瘼';
V_CHARN VARCHAR2(2000):='誽錼錼雫肭捺豽軜貀鈉靹魶艿迺釢柰萘鼐錼囡喃遖楠諵難赧腩囔鬞饢曩攮齉孬呶硇鐃猱譊鐃堖瑙閙鬧訥餒鮾鯘嗯鈪銰坭怩囝賑ホC鈮貎輗鯢鯢麑齯伲旎鉨隬鑈迡暱睨鯰鯰鯰鵇鯰輦輦蹨躎廿埝醸釀蔦嫋鳥嬲脲肀隉臬隉囁鉩踂踗踙錜躡鎳闑櫱齧讘躡鑷顳钀嚀鑏鬡鸋佞甯妞忸狃鈕靵儂噥農辳醲齈譨鎒鐞譳孥駑弩胬釹釹恧衄黁郍儺喏逽搦鍩諾蹃鍩黏顳聹耨衲蝻蟯';
V_CHARO VARCHAR2(2000):='噢鞰謳甌鴎謳鏂鷗齵慪耦';
V_CHARP VARCHAR2(2000):='葩杷俳輫哌蒎鎃爿跘蹣蹣鎜鞶泮頖鋬鵥鑻雱滂霶逄鰟龎龐鰟脬庖狍匏軳鞄麅麭醅阫陫鉳賠鉳帔旆轡霈掬遭褫J閛嘭堋輣錋韸韼鵬鬔鑝踫闏丕紕邳鈹豾釽鈚鈹鉟銔噼錃錍魾闢阰芘枇郫陴埤豼鮍羆隦魮鮍貔鵧鼙庀仳圮銢諀鴄擗淠媲睥甓鷿鸊犏翩鶣駢胼賆諚蹁諞貵諞魸剽縹飃飄魒闝殍瞟醥顠嘌嫖氕丿苤鐅姘貧嬪頻顰榀牝娉俜頩郱枰軿鮃輧鮃釙釙醱醱鏺鄱謈叵鉕鉕珀頗頮掊裒攴攵陠噗鋪鯆匍酺璞濮鏷贌鏷溥氆諩鐠譜蹼鐠皤疋襻螃蟛筢笸蟠螵蜱蚍顰袢癖皰';
V_CHARQ VARCHAR2(2000):='迉榿郪萋嘁槭諆踦諿霋蹊魌鏚鶈亓圻岐芪耆淇萁跂軝釮騏琦琪祺﨑錡頎鬾鬿綦齊蘄踑錡鯕鰭鯕鵸鶀麒鬐魕鰭麡邔屺芑杞豈綺綮諬闙汔薺葺磧憩葜跒酠鞐髂阡芊僉岍慳谸釺鈆雃愆鉛騫鵮搴諐遷褰謙顅鏲鵮鐱鬜鬝韆蕁鈐掮軡鈐鉆鉗銭錢鎆黚鰬凵肷慊繾譴鑓芡茜倩槧輤戕戧蹌錆鏘錆蹌鏹蹡鎗鏘鏹嬙檣謒羥熗磽郻鄗蹺鄡鄥劁踍頝繰鍫鍬趬蹺蹻鐰蕎譙憔鞽樵譙趫鐈鞽顦釥愀誚陗誚韒鞩躈妾挈愜鍥魥踥鍥鯜鐑衾誛顉鮼芩鈙雂嗪溱靲噙鳹檎赺赾鋟鋟吣撳靑郬圊軽輕鯖鯖鑋檠黥苘頃請謦靘磬跫銎邛煢赹楸鶖趥鰍鞦鞧鰌鰍鶖鱃龝犰俅逎逑釚賕釻巰遒裘賕銶醔鮂鼽鯄鵭鰽糗嶇詘阹祛誳麴魼趨麯軀麴黢鰸鱋劬朐軥蕖磲鴝璩鼩蘧氍衢躣鑺鸜齲迲郥闃覷閴麮闃鼁悛鐉詮荃輇銓跧輇銓踡闎鰁鬈鰁齤顴犭畎綣韏愨闋闕趞闋闕鵲逡鴝蝤蜷蜞蜻蜣蠐蛐蛩蚯箝篋箐筌筇罄蠼螓虯虔頎覃襁穹癯';
V_CHARR VARCHAR2(2000):='髯苒禳躟鬤譲讓蕘橈嬈隢遶亻鈓魜銋鵀荏稔躵仞訒軔飪恁軔葚靭靱韌飪認餁辸陾釰鈤肜狨嶸榕鎔鎔軵糅蹂輮鍒鞣鰇鶔韖邚銣銣鴑嚅濡薷鴽醹顬鱬鄏込洳溽縟蓐鳰朊軟輭蕤芮枘睿銳鋭閏閠偌鄀鰙鰯鶸穰箬蠑蚺蚋顬衽襦';
V_CHARS VARCHAR2(2000):='仨靸卅鈒颯脎鈒隡颯噻顋鰓賽毿鬖糝饊鏒閐搡磉鎟顙繅臊鰠颾鰠鱢埽嗇銫雭銫轖鏼譅飋鬙閪鎩裟魦鯊閷鎩鯊鯋唼歃閯霎彡邖芟姍釤埏舢軕釤閊跚潸羶鯅陝閃訕剡赸銏騸鄯嬗謆譱贍鐥鱔鱓鱔殤觴熵謪鬺垧賞鑜鞝艄輎颵鮹苕劭潲猞畲輋賒賖佘厙灄韘麝詵鰺鯓鵢鯵鰺鉮鰰邥哂矧諗讅瀋諗頣魫讅胂椹鋠阩陞陹﨡鉎鍟鼪鵿澠譝鱦眚晟貹嵊賸邿?P蓍鉇釃鳲鳾鯴鍦鯴鰤鶳釃飠辻飠炻塒蒔遈鉐鉽鰣鮖鼫識鼭鰣豕鉂礻貰軾鈰釈弒諡貰軾鈰鉃飾適銴諟諡遾餝謚釋鰘齛扌艏狩綬鏉殳紓陎姝倏菽軗鄃攄毹跾圯旛_鵨秫塾贖鼡鱪鸀鱰沭腧鉥澍豎錰鏣鶐鶑唰誜閂閂涮﨎雙孀鷞鸘鸘鏯誰氵閖順鬊說説妁鑠嗍搠蒴槊鎙鑠厶糹噝緦鉰颸廝銯鍶澌鋖鍶鑭r鷥鼶汜兕姒祀泗駟俟飤釲貄鈻飼忪凇崧淞菘嵩悚頌誦鎹鄋嗖溲餿颼鎪醙鎪颼叟嗾瞍藪穌鯂夙涑謖嗉愫遡鷫蔌觫趚遬鋉餗謖蹜鱐鷫狻荽眭睢濉鞖雖遀隨誶誶賥燧邃鐆詛涐?モ革婗籬炬{鶽娑挲桫睃嗦羧趖鮻嗩鎍鎖鎻鎼鏁逤穡鷥疝痧筮笥笙舐蟮蟀螫螋蛸簌筲蜃螄顙耜竦瘙';
V_CHART VARCHAR2(2000):='趿鉈溻鉈蹹鮙鰨鰨闥遝遢闒榻誻錔鞜闒鞳闥譶躢駘邰炱跆鮐颱鮐薹肽鈦鈦貪曇郯錟談醈錟顃譚貚醰譠鷤忐鉭鉭醓賧賧鐋羰鏜蹚鏜鐋鞺鼞餳鄌溏隚瑭樘踼赯醣鎕闛鶶帑儻钂鎲钂韜飸謟鞱韜饕迯洮啕鞀醄鞉鋾錭鼗忑忒貣鋱慝鋱鼟滕邆謄鰧霯銻鷈鷉綈緹遆趧醍謕蹏鍗鯷鴺題鮷鵜鯷鶗鶙躰軆倜悌逖逷鐟趯酟靝黇靝畋闐鴫闐鷆鷏忝殄餂賟錪靦掭佻祧齠鋚鞗髫鰷鯈鎥齠鰷誂糶銚趒鈳瀑N跕鉄銕鴩鐡鐢鐵飻餮町鞓邒莛婷葶閮霆諪鼮梃鋌頲誔鋌頲嗵仝佟茼砼赨鉖僮鉵銅餇鮦潼鮦慟鍮亠骰頭黈鋵鵚鼵荼鈯跿酴鍎鵌鶟鷋鷵釷釷迌堍菟鵵貒摶鏄鷒鷻疃彖隤頹頺頽魋蹪蹆煺暾黗飩豘豚軘飩魨魨霕氽乇託飥魠佗陁坨沱迱柁砣跎酡踻橐鮀鴕鼧鼉鼉庹鵎鰖柝跅鵜窕籜笤螳螗蜩蜓耥裼';
V_CHARW VARCHAR2(2000):='媧鼃佤邷膃韈韤崴顡剜紈芄貦頑邜莞綰脘菀琬畹輓踠鋔鍐鋄錽贃鎫贎罔惘輞誷輞魍迋偎逶隇隈葳煨薇鰃鰃鰄囗圩幃溈闈韋潿帷嵬違鄬醀鍏闈鮠霺霻煒瑋洧娓諉隗猥艉韙鮪諉踓韑頠鍡鮪韙颹韡軎蝟謂錗鮇轊鏏霨䲁讆躗讏躛轀豱轀轀鰮鎾鰛鰮閿鈫雯魰鳼鴍閺閿闅鼤闦闧刎汶顐璺鶲鎓鶲蓊蕹齆倭萵喔踒肟幄渥硪齷齷圬鄔趶釫鄔誈誣鴮鎢鰞郚唔浯鵐鵐鯃鼯鷡仵嫵廡忤憮迕牾錻鵡躌兀兀阢杌芴逜焐婺隖靰騖寤誤鋈霚鼿霧齀鶩鵡蜿蜈痿痦鶩';
V_CHARX VARCHAR2(2000):='兮誒郗唏奚浠欷淅菥赥釸粞翕舾鄎僖誒豨餏嬉餙樨歙熹羲錫谿豀豯貕雟鯑鵗譆醯鏭隵曦酅鼷鸂鑴郋覡趘隰謵鎴霫鰼飁鰼璽徙葸鈢屣蓰銑禧諰謑蹝鱚躧餼郄郤釳鬩舄趇禊赩隟黖鬩闟霼呷谺閕颬鰕狎柙陜硤陿遐瑕赮魻轄鍜鎋黠鶷閜諕鏬氙祆秈薟銛躚醯銛暹韯鍁鍂韱鮮蹮譣鶱躚鱻嫻閑銜誸賢諴輱醎鹹贒鑦鷳鷴鷼冼獫険赻跣險蘚鍌燹顕韅顯峴莧陥誢鋧錎豏麲鏾霰鼸薌郷鄉鄊緗葙鄕驤麘鱜鑲庠跭餉饗銄餉鯗鮝鯗響鱶項鐌鱌梟嘵枵驍綃逍鴞瀟踃銷魈鴞謞鴵鷍郩崤誵謏誟﨧偕勰擷纈諧鞵鐷讗龤紲褻渫榍榭韰廨獬薤邂燮謝鞢瀣齘齥齂躠躞忄邤昕莘鈊歆灄蚌昔g鐔阠囟軐顖釁謃鮏鯹陘郉鈃陘硎鉶鈃鉶銒鋞擤荇悻﨨芎訩詗咻庥貅饈銝髹鎀鮴鵂鏅飍岫溴銹鏥鏽齅盱砉頊諝須頊魆諝譃魖鑐鬚詡栩鄦糈醑洫勖漵煦賉銊鱮蓿軒諼揎萱暄煊儇諠諼鍹譞鰚讂漩璇選泫炫鉉渲楦鉉碹鏇鞙颴鏇贙辥鞾澩鷽踅雤鷽轌鱈鱈謔趐謔壎獯薰曛醺峋恂洵潯荀鄩鱘鱏麼咿欃氵d賐蕈顨鑂皙簫筱筅罅蟓蟋螅蜥蜆胥穸癇痃鷳鵂';
V_CHARY VARCHAR2(2000):='壓椏錏鴉錏鴨鵶鐚伢岈琊睚?論腈?繭廁臊呪?糴冪武塢么蟲提Z閹黫訁閆妍芫郔閆閻簷顏顔麙鹽麣兗儼偃厴郾酓琰遃隒罨魘躽黶鰋鶠黤齞龑黬黭顩鼴魘鼴齴黶晏隁焱灩鳫釅讞饜鴈諺贗鬳鴳酀贋軅醶鷃贗贘讌醼鷰釅讞豓豔泱鉠雵鞅鍈鴦阦煬鍚颺徉烊陽諹輰鍚鴹颺鐊鰑霷鸉軮養怏恙么夭吆鴁爻餚軺珧軺徭遙銚颻餆餚繇謠謡鎐鰩颻顤鰩杳崾鴢闄齩鷕靿鼼曜鷂讑鑰揶鋣釾鋣鎁鄴頁曄燁謁鄓鄴靨謁鍱鎑鵺靨鸈辷咿猗郼欹漪銥噫鷖醫黟譩鷖黳圯詒怡迤飴咦荑貽迻眙酏貽誃跠頉飴遺頤頥嶷顊鮧謻鏔讉鸃迆釔苡艤釔逘鈘鉯鳦旖輢顗轙齮弋刈仡阣佚囈佾嶧懌驛奕弈羿軼悒挹貤陭埸豙剽N隿跇軼鈠縊靾熠誼鎰鷊鷁黓劓殪薏翳貖鮨贀鎰鐿豷霬鯣鶂鶃鶍譯議醳醷鐿鷁鷊懿鷧鷾讛齸阥洇氤陰銦陻隂喑堙銦鞇諲霒闉霠韾垠狺鈝齗鄞夤誾銀齦霪齗齦鷣廴吲釿鈏飲隠靷飮趛隱讔茚胤酳鮣鶯瑛鍈嚶攖賏瓔霙鴬膺韺鎣鶧譻鶯鑍鷪軈鷹鸎鸚塋滎縈楹瀅鎣瀠嬴謍瀛贏郢頴頴鐛媵鞕譍唷邕鄘墉慵銿壅郺鏞雝鏞鱅饔鱅鷛喁顒顒鰫俑鯒踴鯒醟攸呦麀鄾尢柚莜蕕逌郵逰遊魷猷鈾鮋輏魷輶鮋邎卣莠銪銪牖黝侑囿宥迶貁酭誘鼬紆迃陓邘妤歟於臾禺舁狳諛酑餘萸釪隃雩魚嵛揄腴瑜覦諛雓餘魣踰輿鍝謣鮽鯲鰅鷠鸆傴俁圄圉庾鄅鋙語鋙齬貐麌齬聿嫗飫昱鈺﨏諭逳閾飫煜蕷鈺預毓輍銉隩遹鋊?壑I錥閾鴥鴧鴪魊醧鵒譽轝鐭霱鬻鱊鷸鸒軉鬰鬱眢鵷鳶鋺鴛鵷鼘鼝貟邧沅爰貟酛鈨黿塬魭圜櫞謜轅黿鎱邍鶢鶰逺遠垸媛掾瑗願刖軏鉞跀鈅鉞閱閲樾龠瀹黦躍鸑龥鸙贇頵贇紜芸昀鄖雲氳鋆阭狁殞鈗隕霣齫齳鄆惲鄆慍哞軌儋勧d醞韗韞韻甬鸚瘂瘀螈蝣蝓蜴蜮蛘蚴蚰蚓潁窳箢筵竽罌窨窬窈翊癔癮癭瘞瘐痍疣鷸鷂鵒鳶';
V_CHARZ VARCHAR2(2000):='卮仄賾仉佇侏倬傯俎冢詔諍諏諑諮謫譖譫阼陟陬郅邾鄣鄹圳埴芷苧茱葤菹蓁蕞奘拶揸搌摭摺撙擢攥吒咂吒哳唣唑嘖囀啁帙幘幛崢崽嵫嶂徵獐饌忮怍惴湞洙浞渚涿瀦濯迮彘咫姊妯嫜孳駔騶騅騭紂縐緇縋縝繒纘甾璋瓚杼櫛柘枳梔桎楨梓棹楂榛櫧櫫樽軹軫輊輒輜臧甑昃昝贄貲賑肫胄胙胗胝朕腙膣旃炷祉祚祗禎禚恣斫砟砦碡磔黹眥畛罾釗鉦銖錚鋥錙鏃鐲鍾雉秭稹鴆鷙鷓痄疰痣瘃瘵窀褶耔顓蚱蛭蜇螽蟑竺笊笫笮箏簀箸箴簪籀舯舳舴粢粽糌翥縶趲赭酎酯蹠躓躑踵躅躦豸觜觶訾齜鏨鯫鯔鱒髭麈齄';

BEGIN
IF PRM_SPELL IS NULL OR LENGTH(TRIM(PRM_SPELL))=0 THEN
SPELLCODE:='';
ELSE
INSPELL:=UPPER(PRM_SPELL);
SPELLCODE:='';
FOR V_BITNUM IN 1..LENGTH(INSPELL) LOOP
V_BITCHAR:=SUBSTR(INSPELL,V_BITNUM,1);
IF V_BITCHAR>='啊' AND V_BITCHAR<='座' THEN
FOR V_CHRNUM IN 1..LENGTH(V_STDSTR) LOOP
IF SUBSTR(V_STDSTR,V_CHRNUM,1)='-' THEN
NULL;
ELSIF V_BITCHAR SPELLCODE:=SPELLCODE||CHR(64+V_CHRNUM);
EXIT;
END IF;
END LOOP;
IF V_BITCHAR>='匝' THEN
SPELLCODE:=SPELLCODE||'Z';
END IF;
ELSIF ASCII(V_BITCHAR)<256 THEN
SPELLCODE:=SPELLCODE||V_BITCHAR;
ELSIF INSTR('ⅠⅡⅢⅣⅤⅥⅧⅧⅨ',V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||CHR(ASCII(V_BITCHAR)-41664);
ELSIF INSTR('ABCDEFGHIJKLMNOPQRSTUVWXYZ',V_BITCHAR)>0 THEN
SPELLCODE:=SpellCode||chr(ascii(v_BitChar)-41856);
ELSIF INSTR('Αα',V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'A';
ELSIF INSTR('Ββ',V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'B';
ELSIF INSTR('Γγ',V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'G';
ELSIF INSTR(V_CHARA,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'A';
ELSIF INSTR(V_CHARB,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'B';
ELSIF INSTR(V_CHARC,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'C';
ELSIF INSTR(V_CHARD,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'D';
ELSIF INSTR(V_CHARE,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'E';
ELSIF INSTR(V_CHARF,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'F';
ELSIF INSTR(V_CHARG,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'G';
ELSIF INSTR(V_CHARH,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'H';
ELSIF INSTR(V_CHARJ,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'J';
ELSIF INSTR(V_CHARK,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'K';
ELSIF INSTR(V_CHARL,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'L';
ELSIF INSTR(V_CHARM,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'M';
ELSIF INSTR(V_CHARN,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'N';
ELSIF INSTR(V_CHARO,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'O';
ELSIF INSTR(V_CHARP,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'P';
ELSIF INSTR(V_CHARQ,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'Q';
ELSIF INSTR(V_CHARR,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'R';
ELSIF INSTR(V_CHARS,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'S';
ELSIF INSTR(V_CHART,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'T';
ELSIF INSTR(V_CHARW,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'W';
ELSIF INSTR(V_CHARX,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'X';
ELSIF INSTR(V_CHARY,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'Y';
ELSIF INSTR(V_CHARZ,V_BITCHAR)>0 THEN
SPELLCODE:=SPELLCODE||'Z';
END IF;
EXIT WHEN LENGTH(SPELLCODE)>19;
END LOOP;
END IF;
RETURN UPPER(SPELLCODE);
END FUN_SPELLCODE;
/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9099175/viewspace-905966/,如需轉載,請註明出處,否則將追究法律責任。

相關文章