目前工作中遇到一个情况,需要将SQL Server中的一个字段提取拼音的首字母,字段由汉字、英文、数字以及“-”构成,百度了一堆,找到如下方法,记录一下,以备后用!

首先建立一个函数

--生成拼音首码  CREATE  function  fn_GetPy(@str  nvarchar(4000))  returns  nvarchar(4000)  --WITH  ENCRYPTION  as  begin  declare  @intLen int  declare  @strRet nvarchar(4000)  declare  @temp  nvarchar(100)  set  @intLen  =  len(@str)  set  @strRet  =  ''  while  @intLen  >  0  begin  set  @temp  =  ''  select  @temp  =  case    when  substring(@str,@intLen,1)  >=  '帀'  then  'Z'  when  substring(@str,@intLen,1)  >=  '丫'  then  'Y'  when  substring(@str,@intLen,1)  >=  '夕'  then  'X'  when  substring(@str,@intLen,1)  >=  '屲'  then  'W'  when  substring(@str,@intLen,1)  >=  '他'  then  'T'  when  substring(@str,@intLen,1)  >=  '仨'  then  'S'  when  substring(@str,@intLen,1)  >=  '呥'  then  'R'  when  substring(@str,@intLen,1)  >=  '七'  then  'Q'  when  substring(@str,@intLen,1)  >=  '妑'  then  'P'  when  substring(@str,@intLen,1)  >=  '噢'  then  'O'  when  substring(@str,@intLen,1)  >=  '拏'  then  'N'  when  substring(@str,@intLen,1)  >=  '嘸'  then  'M'  when  substring(@str,@intLen,1)  >=  '垃'  then  'L'  when  substring(@str,@intLen,1)  >=  '咔'  then  'K'  when  substring(@str,@intLen,1)  >=  '丌'  then    'J'  when  substring(@str,@intLen,1)  >=  '铪'  then  'H'  when  substring(@str,@intLen,1)  >=  '旮'  then  'G'  when  substring(@str,@intLen,1)  >=  '发'  then  'F'  when  substring(@str,@intLen,1)  >=  '妸'  then  'E'  when  substring(@str,@intLen,1)  >=  '咑'  then  'D'  when  substring(@str,@intLen,1)  >=  '嚓'  then  'C'  when  substring(@str,@intLen,1)  >=  '八'  then  'B'  when  substring(@str,@intLen,1)  >=  '吖'  then  'A'  else  rtrim(ltrim(substring(@str,@intLen,1)))  end  --对于汉字特殊字符,不生成拼音码  if  (ascii(@temp)>127)  set  @temp  =  ''  --对于英文中小括号,不生成拼音码  if  @temp  =  '('  or  @temp  =  ')'  set  @temp  =  ''  select  @strRet  =  @temp  +  @strRet  set  @intLen  =  @intLen  -  1  end  return  lower(@strRet)  end

执行语句

SELECT    需转换中文字段, dbo.fn_GetPy(中文字段) AS 列别名
FROM        表名称

SQL Server 字段提取拼音首字母相关推荐

  1. mysql表中文字段提取拼音首字母最便捷实现,中文按拼音首字母排序

    mysql表中文字段提取拼音首字母 SELECT a.提取字段, IFNULL(ELT(INTERVAL (CONV(HEX(left(CONVERT(a.提取字段 USING gbk), 1)), ...

  2. Sql Server取汉字拼音首字母和汉字首笔划

    --将中文字符串转化成文字首拼音的组合 create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) as begin d ...

  3. mysql 拼音查询_mysql中文字段转拼音首字母,以及中文拼音模糊查询

    创建存储过程,将中文字段转拼音首字母 CREATE DEFINER=`root`@`%` FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS var ...

  4. Java对List集合中的对象的某个中文字段按照拼音首字母进行排序

    徐师兄这次开门见山上代码!由于没时间整理直接controller层写了一个测试代码 @RequestMapping(value = "/get", method = Request ...

  5. 【sql server】英文按首字母排序+首字母相同英文排中文后面+数字开头最后+忽略空格影响

    淦,sql server比oracle难用 select BusinessCardFolderId,RealName,Mobile,Company,Job,Phone,Email,Address,Ta ...

  6. 利用EXCEL获取字段的拼音首字母

    启动Excel 2003(其它版本请仿照操作),打开相应的工作表: 执行"工具→宏→Visual Basic编辑器"命令(或者直接按"Alt+F11"组合键), ...

  7. oracle 提取首字母,oracle 取字段文字拼音首字母

    语句示范:SELECT UPPER(F_TRANS_PINYIN_CAPITAL(dept_name)) FROM comm.dept_dict 函数: CREATE OR REPLACE FUNCT ...

  8. sql语句按照汉字拼音首字母排序

    oracle : 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序 SCHINESE_S ...

  9. sql语句-按照汉字拼音首字母排序

    在oracle9i之后就新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值可以对相关数据进行排序. SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序 SCHIN ...

最新文章

  1. 与15级新加入团队同学的约定
  2. [转]Android最佳实践之:StrictMode介绍
  3. pipreqs------查找python项目依赖并生成requirements.txt
  4. 直播预告 | 亚马逊高级应用科学家熊元骏:人类行为理解研究进展
  5. react textarea 空格为什么不换行_你需要的 React + TypeScript 50 条规范和经验
  6. 深入学习Redis(1):Redis内存模型
  7. Win10配置VSCode+Opencv3(C++) GCC环境
  8. sharepoint被阻止的文件类型解释说明
  9. python测试驱动开发 中文版_GitHub - starryrbs/python_tdd: 使用Python测试驱动开发完成Django项目...
  10. How do you create a DynamicResourceBinding that supports Converters, StringFormat?
  11. 从1.5K到18K 一个程序员的5年成长之路
  12. 深入理解机器学习中的信息熵、KL散度、交叉熵
  13. 持续集成工具Jenkins_尚硅谷视频学习笔记
  14. 【软件工程师学硬件】之 面包板
  15. 跨考计算机无法调剂,考研调剂又出新变化:“不能跨学科门类调剂”!
  16. 【教程】Gentoo的安装
  17. 女子怨男友沉迷网游 穿性感睡衣出走被性侵
  18. 饿了么分布式服务治理及优化经验
  19. 【图像原理】rgb数字图片概念
  20. NPR——卡通渲染(二)

热门文章

  1. Java Web 实习笔记(三)
  2. 智能外呼系统有什么功能?应该如何选择
  3. 强化学习——从Q-Learning到DQN
  4. 报错:Error: ‘DatePickerTheme‘ is imported from both ‘package:flutter/src/material......
  5. Mac下查看tomcat的版本号
  6. 题解【洛谷】P6566 NOI Online #3 入门组 观星
  7. Apple Swift 中文教程 高速參考 基本的语法
  8. 【python】python利用百度地图API:获取经纬度、地图撒点
  9. 日常英语口语练习-情景交际场景25(一)
  10. 绿色·智慧·融合:2021/2022年中国城市交通规划年会在上海举办