1. Create function fn_GetPy(@str nvarchar(4000))
  2. returns nvarchar(4000)
  3. --用于加密
  4. --WITH ENCRYPTION
  5. as
  6. begin
  7. declare @intLen int
  8. declare @strRet nvarchar(4000)
  9. declare @temp nvarchar(100)
  10. set @intLen = len(@str)
  11. set @strRet = ''
  12. while @intLen > 0
  13. begin
  14. set @temp = ''
  15. select @temp = case
  16. when substring(@str,@intLen,1) >= '帀' then 'Z'
  17. when substring(@str,@intLen,1) >= '丫' then 'Y'
  18. when substring(@str,@intLen,1) >= '夕' then 'X'
  19. when substring(@str,@intLen,1) >= '屲' then 'W'
  20. when substring(@str,@intLen,1) >= '他' then 'T'
  21. when substring(@str,@intLen,1) >= '仨' then 'S'
  22. when substring(@str,@intLen,1) >= '呥' then 'R'
  23. when substring(@str,@intLen,1) >= '七' then 'Q'
  24. when substring(@str,@intLen,1) >= '妑' then 'P'
  25. when substring(@str,@intLen,1) >= '噢' then 'O'
  26. when substring(@str,@intLen,1) >= '拏' then 'N'
  27. when substring(@str,@intLen,1) >= '嘸' then 'M'
  28. when substring(@str,@intLen,1) >= '垃' then 'L'
  29. when substring(@str,@intLen,1) >= '咔' then 'K'
  30. when substring(@str,@intLen,1) >= '丌' then 'J'
  31. when substring(@str,@intLen,1) >= '铪' then 'H'
  32. when substring(@str,@intLen,1) >= '旮' then 'G'
  33. when substring(@str,@intLen,1) >= '发' then 'F'
  34. when substring(@str,@intLen,1) >= '妸' then 'E'
  35. when substring(@str,@intLen,1) >= '咑' then 'D'
  36. when substring(@str,@intLen,1) >= '嚓' then 'C'
  37. when substring(@str,@intLen,1) >= '八' then 'B'
  38. when substring(@str,@intLen,1) >= '吖' then 'A'
  39. else rtrim(ltrim(substring(@str,@intLen,1)))
  40. end
  41. --对于汉字特殊字符,不生成拼音码
  42. if (ascii(@temp)>127) set @temp = ''
  43. --对于英文中小括号,不生成拼音码
  44. if @temp = '(' or @temp = ')' set @temp = ''
  45. select @strRet = @temp + @strRet
  46. set @intLen = @intLen - 1
  47. end
  48. return lower(@strRet)
  49. end

调用方法

  1. select dbo.fn_GetPy('汉字') py

出处:http://www.cnblogs.com/xilipu31/

sql 取汉字首字母的更多相关文章

  1. SQL函数-汉字首字母查询

    汉字首字母查询处理用户定义函数 CREATE FUNCTION f_GetPY1(@str nvarchar(4000))RETURNS nvarchar(4000)ASBEGIN DECLARE @ ...

  2. WPF,ComboBox,取汉字首字母,extBoxBase.TextChanged

    1取汉字汉语拼音首字母: private static string GetFirstLetterOfChineseString(string CnChar) { long iCnChar; byte ...

  3. C#取汉字首字母,汉字全拼

    使用类库为 https://gitee.com/kuiyu/dotnetcodes/tree/master/DotNet.Utilities/%E6%B1%89%E5%AD%97%E8%BD%AC%E ...

  4. java 取汉字首字母

    有时候,可能会有一些类似这样的需求: 对于这样的效果,我们可以有类似这样的解决方案: package bys.utils; import java.io.UnsupportedEncodingExce ...

  5. SQL获取汉字首字母

    )) ) as begin ) ) collate Chinese_PRC_CI_AS,letter )) insert into @t(chr,letter) select '吖','A' unio ...

  6. sql按照汉字首字母顺序排序(桃)

    SELECT * FROM 表名 order by CONVERT(字段名 USING gbk)

  7. SQL SERVER 得到汉字首字母函数四版全集 --【叶子】

    --创建取汉字首字母函数(第三版) create function [dbo].[f_getpy_V3] ( ) ) ) as begin ),) ,@len = len(@col),@sql = ' ...

  8. php方法-------将汉字转为拼音或者提取汉字首字母

    将汉字转为全拼,提取汉字首字母 <?php /** * 基于PHP语言的汉语转拼音的类 * 兼容 UTF8.GBK.GB2312 编码,无须特殊处理 * 对中文默认返回拼音首字母缩写,其它字符不 ...

  9. MSSQL 获取汉字全拼 和 汉字首字母

    --获取全拼 DECLARE @str VARCHAR(max) SET @str= [dbo].[fn_Getquanpin]('中山') PRINT(@str) )) ) as begin ),) ...

随机推荐

  1. FunDA(2)- Streaming Data Operation:流式数据操作

    在上一集的讨论里我们介绍并实现了强类型返回结果行.使用强类型主要的目的是当我们把后端数据库SQL批次操作搬到内存里转变成数据流式按行操作时能更方便.准确.高效地选定数据字段.在上集讨论示范里我们用集合 ...

  2. [连载]《C#通讯(串口和网络)框架的设计与实现》- 7.外部接口的设计

    目       录 第七章           外部接口的设计... 2 7.1           插件接口... 2 7.2           图形显示接口... 3 7.3           ...

  3. opts=opts | |{}

    var opts=opts || {}这个语句是一个赋值或者初始化语句 该语句在opts已经被初始化过后opts的值不变,即执行var opts=opts这一部分. 当opts未被初始化,即typeo ...

  4. 浅谈Hybrid技术的设计与实现第三弹——落地篇

    前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ...

  5. PostCSS一种更优雅、更简单的书写CSS方式

    Sass团队创建了Compass大大提升CSSer的工作效率,你无需考虑各种浏览器前缀兼,只需要按官方文档的书写方式去写,会得到加上浏览器前缀的代码,如下: .row { @include displ ...

  6. 基于SAP的中国式数据分析浅谈

    大数据时代,虽然多数企业数据的应用并不能称得上是“大数据”,但也证实了数据应用的重要性和影响力.确实,数据作为企业发展的信息沉淀,已成为企业的重要资产,如何有效利用数据是每个企业必须面临的课题. 这里 ...

  7. Android Weekly Notes Issue #219

    Android Weekly Issue #219 August 21st, 2016 Android Weekly Issue #219 ARTICLES & TUTORIALS Andro ...

  8. React Native 之生命周期

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  9. TFFS格式化到创建成功过程

    True FFS内核编程 1.格式化FLASH 即使FLASH没有和块设备驱动绑定,也可对其进行格式化. tffsDevFormat (int tffsDriveNo, int formatArg); ...

  10. 浅谈Java的匿名类

    在实际的项目中看到一个很奇怪的现象,Java可以直接new一个接口,然后在new里面粗暴的加入实现代码.就像下面这样.那么问题来了,new出来的对象没有实际的类作为载体,这不是很奇怪吗? 思考以下代码 ...