如何用db2的sql写一个获取汉字拼音首字母的

如何用db2的sql写一个获取汉字拼音首字母的,第1张

DECLARE @str VARCHAR(100)

SET @str = '汉字首字母'

SELECT @str AS A, dbofun_getPY(@str) AS B

先执行上面的那个函数,然后在执行下面的那个语句,就可以得到你要的结果了。

代码如下:

USE [database]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE FUNCTION [dbo][getPinYin] (@str varchar(500) = '')

RETURNS varchar(500) AS

BEGIN

Declare @strlen int,

@return varchar(500),

@ii int,

@c char(1),

@chn nchar(1)

--//初始化变量

Declare @pytable table(

chn char(2) COLLATE Chinese_PRC_CS_AS NOT NULL,

py char(1) COLLATE Chinese_PRC_CS_AS NULL,

PRIMARY KEY (chn)

)

insert into @pytable values('吖', 'A')

insert into @pytable values('八', 'B')

insert into @pytable values('嚓', 'C')

insert into @pytable values('咑', 'D')

insert into @pytable values('妸', 'E')

insert into @pytable values('发', 'F')

insert into @pytable values('旮', 'G')

insert into @pytable values('铪', 'H')

insert into @pytable values('丌', 'I')

insert into @pytable values('丌', 'J')

insert into @pytable values('咔', 'K')

insert into @pytable values('垃', 'L')

insert into @pytable values('呒', 'M')

insert into @pytable values('拏', 'N')

insert into @pytable values('噢', 'O')

insert into @pytable values('妑', 'P')

insert into @pytable values('七', 'Q')

insert into @pytable values('呥', 'R')

insert into @pytable values('仨', 'S')

insert into @pytable values('他', 'T')

--insert into @pytable values('屲', 'U')

--insert into @pytable values('屲', 'V')

insert into @pytable values('屲', 'W')

insert into @pytable values('夕', 'X')

insert into @pytable values('丫', 'Y')

insert into @pytable values('帀', 'Z')

select @strlen = len(@str), @return = '', @ii = 0

//循环整个字符串,用拼音的首字母替换汉字

while @ii < @strlen

begin

select @ii = @ii + 1, @chn = substring(@str , @ii, 1)

if @chn > 'z' --//检索输入的字符串中有中文字符

SELECT @c = max(py)

FROM @pytable

where chn <= @chn

else

set @c=@chn

set @return=@return+@c

end

return @return

END

oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下Sql代码

--oracle汉字转拼音 PACKAGE

--1获得全拼

SELECT GETHZPYGETHZFULLPY('汉字') FROM DUAL;结果 : HanZi

--2拼音首字母

SELECT GETHZPYGETHZPYCAP('汉字') FROM DUAL;结果 : HZ

--3拼音截取等

SELECT GETHZPYGETHZPYCAPSUBSTR('汉字', 0, 1) FROM DUAL;结果 : H

代码部分太长挂在附件上 以下代码如果在 PL/SQL Developer 执行的话,选择 Command Window 粘贴

附件在最下面

oracle汉字转拼音package_获得全拼——拼音首字母_拼音截取等zip (359 KB)

以上就是关于如何用db2的sql写一个获取汉字拼音首字母的全部的内容,包括:如何用db2的sql写一个获取汉字拼音首字母的、SQL Server 如何提取汉字首字母、数据库oracle(plsql)怎么把汉字转化成拼音首字母,如果非汉字字符 (英文or数字),返回原字符不变等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9775667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存