USE [StockManageSystemV2]
GO
/****** Object: UserDefinedFunction [dbo].[PinYin] Script Date: 2016-08-07 11:19:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO ALTER FUNCTION [dbo].[PinYin] ( @STR NVARCHAR() )
RETURNS NVARCHAR()
AS
BEGIN
DECLARE @INTLEN INT;
DECLARE @STRRET NVARCHAR();
DECLARE @TEMP NVARCHAR();
SET @INTLEN = LEN(@STR);
SET @STRRET = '';
WHILE @INTLEN >
BEGIN
SET @TEMP = '';
SELECT @TEMP = CASE WHEN SUBSTRING(@STR, @INTLEN, ) >= '帀' THEN 'Z'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '丫' THEN 'Y'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '夕' THEN 'X'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '屲' THEN 'W'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '他' THEN 'T'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '仨' THEN 'S'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '呥' THEN 'R'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '七' THEN 'Q'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '妑' THEN 'P'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '噢' THEN 'O'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '拏' THEN 'N'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '嘸' THEN 'M'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '垃' THEN 'L'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '咔' THEN 'K'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '丌' THEN 'J'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '铪' THEN 'H'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '旮' THEN 'G'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '发' THEN 'F'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '妸' THEN 'E'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '咑' THEN 'D'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '嚓' THEN 'C'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '八' THEN 'B'
WHEN SUBSTRING(@STR, @INTLEN, ) >= '吖' THEN 'A'
ELSE RTRIM(LTRIM(SUBSTRING(@STR, @INTLEN, )))
END;
--对于汉字特殊字符,不生成拼音码
IF ( ASCII(@TEMP) > )
SET @TEMP = '';
--对于英文中小括号,不生成拼音码
IF @TEMP = '('
OR @TEMP = ')'
SET @TEMP = '';
SELECT @STRRET = @TEMP + @STRRET;
SET @INTLEN = @INTLEN - ;
END;
RETURN @STRRET;
END;

sql中写标量函数生成大写拼音首字母的更多相关文章

  1. SQL小技巧(一)拼音首字母的模糊查询

    基于Microsoft SQL Server 的标量值函数fun_GetPy,借鉴其他优秀的博主文章,此处贴出源码,以及使用方法 1.打开新建查询,贴如下代码,F5 /****** Object: U ...

  2. python3.4.3将汉字转换为大写拼音首字母

    from pypinyin import pinyin a=pinyin(u'杨强',type=FIRST_LETTER)    --->此时返回一个列表并赋给a(元素也是列表) b=[]  - ...

  3. python3将汉字转换为大写拼音首字母

    利用pypinyin包 实现 import pypinyin a = pypinyin.pinyin('你好世界', style=pypinyin.FIRST_LETTER) b = [] for i ...

  4. JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容

    实现效果: 图一: 图二: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/f ...

  5. mysql数据库中查询汉字的拼音首字母

    本人提供的方法有如下特点: 1.代码精简,使用简单,只要会基本的SQL语句就行2.不用建立mysql 函数等复杂的东西3.汉字库最全,可查询20902个汉字 方法如下: 1.建立拼音首字母资料表Sql ...

  6. C#&Sql获取中文字符拼音首字母的方法

    C#获取字符拼音首字母,可以存储在数据库中以备将来按字母搜索的需求. public static string GetAc(string s) { try { string temp = Servic ...

  7. MySQL通过函数获取字符串汉字拼音首字母大写字符串

    DELIMITER $$ DROP FUNCTION IF EXISTS `Fun_GetPY`$$ CREATE FUNCTION `HIS`.`Fun_GetPY` (in_string VARC ...

  8. C# 汉字获取拼音首字母,给数据库中的姓名添加首字母

    本方案采用微软官方语言包 (下载链接: https://pan.baidu.com/s/10I1bhTdFr4-q_xKVHuEzMA 提取码: p3nk ChnCharInfo.dll 用于获取首字 ...

  9. (转载)delphi中获取汉字的拼音首字母

    delphi中获取汉字的拼音首字母1.py: array[216..247] of string = ({216}'CJWGNSPGCGNESYPB' + 'TYYZDXYKYGTDJNMJ' + ' ...

随机推荐

  1. 2.2 编程之美--不要被阶乘吓到[zero count of N factorial]

    [本文链接] http://www.cnblogs.com/hellogiser/p/zero-count-of-N-factorial.html [题目] 问题1:‍给定一个整数N,那么N的阶乘N! ...

  2. Android measure和layout的一点理解

    首先,推荐文章,http://blog.csdn.net/hqdoremi/article/details/9980481,http://www.docin.com/p-571954086.html ...

  3. Java 批量反编译class文件,并保持目录结构

    jad -o -r -d d:\src -s java C:\Users\spring\Desktop\egorder3.0\WEB-INF\classes\**\*.class -o - overw ...

  4. 学习hadoop,搭建hadoop遇到一些特殊问题

    我执行下面步骤: 1.  动态增加DataNode节点和TaskTracker节点 以host9为例 在host9上执行: 指定主机名 vi  /etc/hostname 指定主机名到IP地址的映射 ...

  5. SQL with as

    姓名 课程 分数 张三 语文 张三 数学 张三 物理 李四 语文 李四 数学 李四 物理 先看下面一个嵌套的查询语句 ) 上面的查询语句使用了一个子查询.虽然这条SQL语句并不复杂,但如果嵌套的层次过 ...

  6. [译]C#控制管理VisualSVN Server

    VisualSVN Server可以用WMI接口管理(Windows Management Instrumentation). VisualSVN Server安装的计算机中,位于%VISUALSVN ...

  7. Java Hour 60 逃不开的GC

    第一个大家都应该知道的概念就是应用程序中不断的new 分配了内存,却没有显式的代码去清理内存,而执行这个清理过程的自动垃圾回收的过程就叫做GC. 但是,JVM 说明并没有要求一定要有GC,JVM 说明 ...

  8. 简单dp的状态转移方程集合

    1.对于任一种N的排列A,定义它的E值为序列中满足A[i]>i的数的个数.给定N和K(K<=N<=1000),问N的排列中E值为K的个数. dp[i][j]表示i个数的排列中E值为j ...

  9. C++primer学习笔记(一)——Chapter 3

    3.1 Namespace using Declarations 1.因为C++里有名字空间的定义,例如我们使用cin的时候必须写成std::cin,如果就用一次还是可以接受的,但是如果一直都这样,那 ...

  10. 基于C#语言利用Microsoft.office.introp.excel操作Excel总结

    终于解决了质量评估测试软件在任意装有excel(2010以下版本)的电脑上正常使用的问题!!!!!!!!!! 可到http://www.microsoft.com/en-sa/download/con ...