SQL Server 字段提取拼音首字母
目前工作中遇到一个情况,需要将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 字段提取拼音首字母相关推荐
- mysql表中文字段提取拼音首字母最便捷实现,中文按拼音首字母排序
mysql表中文字段提取拼音首字母 SELECT a.提取字段, IFNULL(ELT(INTERVAL (CONV(HEX(left(CONVERT(a.提取字段 USING gbk), 1)), ...
- Sql Server取汉字拼音首字母和汉字首笔划
--将中文字符串转化成文字首拼音的组合 create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) as begin d ...
- mysql 拼音查询_mysql中文字段转拼音首字母,以及中文拼音模糊查询
创建存储过程,将中文字段转拼音首字母 CREATE DEFINER=`root`@`%` FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS var ...
- Java对List集合中的对象的某个中文字段按照拼音首字母进行排序
徐师兄这次开门见山上代码!由于没时间整理直接controller层写了一个测试代码 @RequestMapping(value = "/get", method = Request ...
- 【sql server】英文按首字母排序+首字母相同英文排中文后面+数字开头最后+忽略空格影响
淦,sql server比oracle难用 select BusinessCardFolderId,RealName,Mobile,Company,Job,Phone,Email,Address,Ta ...
- 利用EXCEL获取字段的拼音首字母
启动Excel 2003(其它版本请仿照操作),打开相应的工作表: 执行"工具→宏→Visual Basic编辑器"命令(或者直接按"Alt+F11"组合键), ...
- oracle 提取首字母,oracle 取字段文字拼音首字母
语句示范:SELECT UPPER(F_TRANS_PINYIN_CAPITAL(dept_name)) FROM comm.dept_dict 函数: CREATE OR REPLACE FUNCT ...
- sql语句按照汉字拼音首字母排序
oracle : 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序 SCHINESE_S ...
- sql语句-按照汉字拼音首字母排序
在oracle9i之后就新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值可以对相关数据进行排序. SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序 SCHIN ...
最新文章
- 与15级新加入团队同学的约定
- [转]Android最佳实践之:StrictMode介绍
- pipreqs------查找python项目依赖并生成requirements.txt
- 直播预告 | 亚马逊高级应用科学家熊元骏:人类行为理解研究进展
- react textarea 空格为什么不换行_你需要的 React + TypeScript 50 条规范和经验
- 深入学习Redis(1):Redis内存模型
- Win10配置VSCode+Opencv3(C++) GCC环境
- sharepoint被阻止的文件类型解释说明
- python测试驱动开发 中文版_GitHub - starryrbs/python_tdd: 使用Python测试驱动开发完成Django项目...
- How do you create a DynamicResourceBinding that supports Converters, StringFormat?
- 从1.5K到18K 一个程序员的5年成长之路
- 深入理解机器学习中的信息熵、KL散度、交叉熵
- 持续集成工具Jenkins_尚硅谷视频学习笔记
- 【软件工程师学硬件】之 面包板
- 跨考计算机无法调剂,考研调剂又出新变化:“不能跨学科门类调剂”!
- 【教程】Gentoo的安装
- 女子怨男友沉迷网游 穿性感睡衣出走被性侵
- 饿了么分布式服务治理及优化经验
- 【图像原理】rgb数字图片概念
- NPR——卡通渲染(二)
热门文章
- Java Web 实习笔记(三)
- 智能外呼系统有什么功能?应该如何选择
- 强化学习——从Q-Learning到DQN
- 报错:Error: ‘DatePickerTheme‘ is imported from both ‘package:flutter/src/material......
- Mac下查看tomcat的版本号
- 题解【洛谷】P6566 NOI Online #3 入门组 观星
- Apple Swift 中文教程 高速參考 基本的语法
- 【python】python利用百度地图API:获取经纬度、地图撒点
- 日常英语口语练习-情景交际场景25(一)
- 绿色·智慧·融合:2021/2022年中国城市交通规划年会在上海举办