微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql中写标量函数生成大写拼音首字母

<div class="cnblogs_code">

stemV2]
GO
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;

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐