<div class="cnblogs_code">
ALTER FUNCTION [dbo].[PinYin] ( @STR NVARCHAR(<span style="color: #800080;">4000<span style="color: #000000;">) )
RETURNS NVARCHAR(<span style="color: #800080;">4000<span style="color: #000000;">)
AS
BEGIN
DECLARE @INTLEN INT;
DECLARE @STRRET NVARCHAR(<span style="color: #800080;">4000<span style="color: #000000;">);
DECLARE @TEMP NVARCHAR(<span style="color: #800080;">100<span style="color: #000000;">);
SET @INTLEN =<span style="color: #000000;"> LEN(@STR);
SET @STRRET = <span style="color: #800000;">''<span style="color: #000000;">;
WHILE @INTLEN > <span style="color: #800080;">0<span style="color: #000000;">
BEGIN
SET @TEMP = <span style="color: #800000;">''<span style="color: #000000;">;
SELECT @TEMP = CASE WHEN SUBSTRING(@STR,@INTLEN,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">帀<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">Z<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">丫<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">Y<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">夕<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">X<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">屲<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">W<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">他<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">T<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">仨<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">S<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">呥<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">R<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">七<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">Q<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">妑<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">P<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">噢<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">O<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">拏<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">N<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">嘸<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">M<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">垃<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">L<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">咔<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">K<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">丌<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">J<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">铪<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">H<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">旮<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">G<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">发<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">F<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">妸<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">E<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">咑<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">D<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">嚓<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">C<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">八<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">B<span style="color: #800000;">'<span style="color: #000000;">
WHEN SUBSTRING(@STR,<span style="color: #800080;">1) >= <span style="color: #800000;">'<span style="color: #800000;">吖<span style="color: #800000;">' THEN <span style="color: #800000;">'<span style="color: #800000;">A<span style="color: #800000;">'<span style="color: #000000;">
ELSE RTRIM(LTRIM(SUBSTRING(@STR,<span style="color: #800080;">1<span style="color: #000000;">)))
END;
--<span style="color: #000000;">对于汉字特殊字符,不生成拼音码
IF ( ASCII(@TEMP) > <span style="color: #800080;">127<span style="color: #000000;"> )
SET @TEMP = <span style="color: #800000;">''<span style="color: #000000;">;
--<span style="color: #000000;">对于英文中小括号,不生成拼音码
IF @TEMP = <span style="color: #800000;">'<span style="color: #800000;">(<span style="color: #800000;">'<span style="color: #000000;">
OR @TEMP = <span style="color: #800000;">'<span style="color: #800000;">)<span style="color: #800000;">'<span style="color: #000000;">
SET @TEMP = <span style="color: #800000;">''<span style="color: #000000;">;
SELECT @STRRET = @TEMP +<span style="color: #000000;"> @STRRET;
SET @INTLEN = @INTLEN - <span style="color: #800080;">1<span style="color: #000000;">;
END;
RETURN @STRRET;
END;
? (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|