您的位置:首页 >> 数据库 >> Oracle >> 正文
Oracle RSS
 

如何在Oracle中建立汉字拼音对照表

http://www.rdxx.com 04年07月20日 00:00 我要投稿

关键词: 汉字 , 拼音 , Oracle ,

  REM
  REM    建立汉语拼音库,根据汉字查拼音
  REM    应用:如商品或者货物名称可以根据拼音去查,数据可以按拼音排序
  REM    作者:朱伟民 时间: 12:24 2001-10-07
  REM
  --
  -- 汉字拼音编码表 , 可以用程序读汉字库获得记录
  --
  DROP TABLE chinese_code;
  CREATE TABLE chinese_code(
      ascii_code INTEGER,    -- 汉字的 ASCII 码
      chinese_word VARCHAR2(2),    -- 汉字
      chinese_anno VARCHAR2(5),    -- 汉语拼音
      CONSTRAINT PK_chinese_code PRIMARY KEY(ascii_code),
      CONSTRAINT CK_chinese_code1 CHECK("CHINESE_WORD" IS NOT NULL))
      PCTFREE 5
      PCTUSED 75
      TABLESPACE users
      STORAGE(INITIAL 50K
          NEXT 50K
          MINEXTENTS 2
          MAXEXTENTS 100
          PCTINCREASE 75)
      ENABLE PRIMARY KEY USING INDEX
      TABLESPACE INDX
      PCTFREE 5;
  
  ALTER TABLE chinese_code DISABLE PRIMARY KEY;
  INSERT INTO chinese_code VALUES(ASCII('中'),'中','zhong');
  INSERT INTO chinese_code VALUES(ASCII('华'),'华','hua');
  INSERT INTO chinese_code VALUES(ASCII('人'),'人','ren');
  INSERT INTO chinese_code VALUES(ASCII('民'),'民','ming');
  INSERT INTO chinese_code VALUES(ASCII('共'),'共','gong');
  INSERT INTO chinese_code VALUES(ASCII('和'),'和','he');
  INSERT INTO chinese_code VALUES(ASCII('国'),'国','guo');
  COMMIT;
  ALTER TABLE chinese_code ENABLE PRIMARY KEY;
  
  SELECT * FROM chinese_code;
  
  --
  -- 根据汉字查询拼音函数
  --
  CREATE OR REPLACE FUNCTION query_anno(
      inputStr IN VARCHAR2)
      RETURN VARCHAR2 AS
      outputStr chinese_code.chinese_anno%TYPE;
  BEGIN
      SELECT chinese_anno INTO outputStr FROM chinese_code
          WHERE ascii_code = ASCII(inputStr);
      RETURN outputStr;
  EXCEPTION
      WHEN OTHERS THEN
          RETURN '';
  END;
  /

 
 
标签: 汉字 , 拼音 , Oracle , 打印本文
 
 
  热点搜索
 
 
 


Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站