公司里原先的代码,实在没看懂。。。。

主要是在Sql中实现

USE [Xpos_refer_database] GO /****** Object:  UserDefinedFunction [dbo].[GetLetter]    Script Date: 04/07/2012 09:22:25 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER function [dbo].[GetLetter](@str nvarchar(4000),@type int) returns nvarchar(4000) -- WITH   ENCRYPTION as begin declare @intLen int --長度declare @strRet nvarchar(4000)--返回值declare @temp nvarchar(100) --臨時變量set @intLen = len(@str) set @strRet = '' 

declare @i int --臨時變量select @i=1 while (@intLen > 0 and @type>0) begin set @temp = '' select @temp = case when substring(@str,@i,1) > = '帀 ' then 'Z' when substring(@str,@i,1) > = '丫 ' then 'Y' when substring(@str,@i,1) > = '夕 ' then 'X' when substring(@str,@i,1) > = '屲 ' then 'W' when substring(@str,@i,1) > = '他 ' then 'T' when substring(@str,@i,1) > = '仨 ' then 'S' when substring(@str,@i,1) > = '呥 ' then 'R' when substring(@str,@i,1) > = '七 ' then 'Q' when substring(@str,@i,1) > = '妑 ' then 'P' when substring(@str,@i,1) > = '噢 ' then 'O' when substring(@str,@i,1) > = '拏 ' then 'N' when substring(@str,@i,1) > = '嘸 ' then 'M' when substring(@str,@i,1) > = '垃 ' then 'L' when substring(@str,@i,1) > = '咔 ' then 'K' when substring(@str,@i,1) > = '丌 ' then 'J' when substring(@str,@i,1) > = '铪 ' then 'H' when substring(@str,@i,1) > = '旮 ' then 'G' when substring(@str,@i,1) > = '发 ' then 'F' when substring(@str,@i,1) > = '妸 ' then 'E' when substring(@str,@i,1) > = '咑 ' then 'D' when substring(@str,@i,1) > = '嚓 ' then 'C' when substring(@str,@i,1) > = '八 ' then 'B' when substring(@str,@i,1) > = '吖 ' then 'A' else rtrim(ltrim(substring(@str,@i,1))) end 

--对于汉字特殊字符,不生成拼音码  if (ascii(@temp)> 127) set @temp = ' ' --对于英文中小括号,不生成拼音码  if @temp = '(' or @temp = ')' set @temp = ' ' select @strRet = @strRet +@temp set @intLen = @intLen - 1 if @type<=10 set @type=@type-1 set @i=@i+1 end--while

return lower(@strRet) end

这个函数是在Sql中“标量值函数”下面的

查询的Sql语句:

select distinct D_CITY as 城市,upper(dbo.GetLetter(D_CITY,1)) as 拼音码 from ref_addr3 order by upper(dbo.GetLetter(D_CITY,1))

查询结果:

转载于:https://www.cnblogs.com/New-world/archive/2012/04/07/2435668.html

根据汉字的首字母生产拼音码进行查询相关推荐

  1. 获取汉字的首字母和拼音

    /// /// 获取汉字的首字母和全拼 /// public class ChineseCode { protected string _CnTxt; protected string _EnTxt; ...

  2. Javascript 汉字转首字母的拼音 js文件(支持多音字的选择)

    实现的效果如图: pinyin.jsp文件: <html> <head> <meta http-equiv="Content-Type" conten ...

  3. java将汉字转成拼音首字母大写字母_java实现将汉字转为首字母、拼音

    本文转自java实现将汉字转为拼音 作者itRed 本人仅稍作整理,并提出一些问题.问题的话暂时没时间处理,等以后有时间了再更新. 测试参数 String info="汉字转换为拼音&quo ...

  4. js汉字转换首字母大写拼音

    //判断是否是汉字functionisChinese(temp) {var re = /[^\u4E00-\u9FA5]/;if (re.test(temp)) return false;return ...

  5. 根据中文名,自动生成首字母的拼音码或拼音码(两种方法)

    #region 根据中文生成首字母(大写)/// <summary>/// 根据中文生成首字母(大写)/// </summary>/// <param name=&quo ...

  6. 最强汉字得到首字母拼音java版

    网上有很多汉字得到首字母拼音的代码,基本都出自一种方式,通过对private static final char[] chartable = { '啊', * '芭', '擦', '搭', '蛾', ...

  7. 工具类:汉字得到首字母拼音

    1.取得给定汉字串的首字母串,即声母串,只支持GB2312字符集中的汉字,部分汉字不能转换: import java.io.UnsupportedEncodingException;public fi ...

  8. java怎样获取汉字的首字母_[JAVA]获得汉字的拼音首字母

    --sunfruit 提供了获得汉字的拼音首字母的方法 JDK版本    无版本限制 功能    实现了获得一个汉字的拼音首字母功能,为汉字排序提供了方便 欢迎大家提意见,交流 代码如下: /** * ...

  9. sql 汉字转首字母拼音

    从网络上收刮了一些,以备后用 create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) as begin declar ...

最新文章

  1. git配置报错fatal: Authentication failed for ‘‘问题解决
  2. c++ 使用throw抛出异常
  3. XAML Namespace http://schemas.microsoft.com/expression/blend/2008 is not resolved
  4. 正则中除了空格还有什么标识间距
  5. linux系统怎么建ftp服务器地址,Ubuntu Linux系统建立FTP服务器方法步骤
  6. hbase查询_【从零单排HBase】HBase高性能查询揭秘
  7. C# WinForm窗口最小化到系统托盘
  8. 政府安全资讯精选 2017年第十八期 工信部近三年将466个“问题APP”纳入黑名单;阿里云成为全球唯一完成德国C5云安全基础附加标准审计云服务商...
  9. 練習重繪TreeView控件
  10. Oracle 分页查询
  11. 机器人学导论,课后习题答案。
  12. 玩客云服务器怎么卖,玩客云使用教程;低价NAS怎么打造;玩客云现在还值得入手吗?-聚超值...
  13. R语言做生信分析系列(一)—— R软件简单安装
  14. Node.js学习笔记--进阶之路
  15. (转)如何使用Xcode的Targets来管理开发和生产版本的构建
  16. 数据湖架构Hudi(五)Hudi集成Flink案例详解
  17. Linux 重新加载 nginx 配置命令
  18. Vue之路由(SPA开发模式)
  19. http请求返回302处理方案
  20. Django 配置MySQL

热门文章

  1. 完全二叉树的最后一个非终端节点的下标
  2. idea中安装redis插件以及使用指南
  3. 关于运行程序时会产生的gmon.out文件
  4. 计算机硬盘 电机 利用,如何利用坏硬盘来做一个超强风扇,变废为宝 利用坏硬盘来做一个超强风扇,变废为宝的方法...
  5. 查找网站代码漏洞对网站木马后门查杀的清除
  6. Android源码解析
  7. CodeSmith中文乱码的解决方法
  8. 手把手教你如何在Windows PC的VirtualBox上安装macOS 10.15 Catalina系统
  9. PE结构详解(加壳脱壳必备知识)
  10. python的try和except用法_python中try及except使用