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

USE [StockManageSystemV2]GO/****** Object: UserDefinedFunction [dbo].[PinYin] Script Date: 2016-08-07 11:19:20 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER FUNCTION [dbo].[PinYin] ( @STR NVARCHAR(4000) )RETURNS NVARCHAR(4000)AS

<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;

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部