oracle自动生成拼音码,oracle 产生拼音码的函数

create or replace function pro_f_getspell(vstr varchar2, --提交的字符串

vlen number) --返回字符串的长度

return varchar2 is

Result varchar2(100);

--根据提交的字符串 产生拼音码

ilen Number(4);

i Number(4);

srslt Varchar2(100);

irsltindex Number(10);

srsltindex Varchar2(2);

begin

Result := '';

ilen := length(vstr);

if ilen <= 0 Then

Return('');

End If;

srslt := '';

i := 1;

<>

Loop

Exit When i > ilen Or length(srslt) >= vlen;

srsltindex := substr(vstr, i, 1);

irsltindex := ascii(srsltindex);

If irsltindex <= 127 Then

srslt := srslt || srsltindex;

Else

If irsltindex = to_number('A1A2', 'xxxxx') Then --、

srslt := srslt || ',';

Elsif irsltindex = to_number('A1A3', 'xxxxx') Then  --。

srslt := srslt || '.';

Elsif irsltindex = to_number('A1AE', 'xxxxx') Then  --‘

srslt := srslt || chr(39);

Elsif irsltindex = to_number('A1AF', 'xxxxx') Then  --’

srslt := srslt || chr(39);

Elsif irsltindex = to_number('A1B0', 'xxxxx') Then  --“

srslt := srslt || '"';

Elsif irsltindex = to_number('A1B1', 'xxxxx') Then  --”

srslt := srslt || '"';

Elsif irsltindex = to_number('A1B6', 'xxxxx') Then  --《

srslt := srslt || '

Elsif irsltindex = to_number('A1B6', 'xxxxx') Then  --》

srslt := srslt || '>';

Elsif irsltindex = to_number('A3A1', 'xxxxx') Then  --!

srslt := srslt || '!';

Elsif irsltindex = to_number('A3A8', 'xxxxx') Then  --(

srslt := srslt || '(';

Elsif irsltindex = to_number('A3A9', 'xxxxx') Then  --)

srslt := srslt || ')';

Elsif irsltindex = to_number('A3AC', 'xxxxx') Then  --,

srslt := srslt || ',';

Elsif irsltindex = to_number('A3B0', 'xxxxx') Then  --"

srslt := srslt || '""';

Elsif irsltindex = to_number('A3BA',

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值