• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > sqlserver 快速生成汉字的首拼字母的函数(经典)

sqlserver 快速生成汉字的首拼字母的函数(经典)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了汉字,首拼字母等相关知识,希望本文的分享对您有所帮助

经常要对姓名按拼音搜索,所以需要做如下函数来快速获取首拼,需要的朋友可以参考下

代码如下:
代码如下:
USE [tempdb]
GO
/****** Object: UserDefinedFunction [dbo].[fun_getPY] Script Date: 05/23/2012 18:03:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
获取汉字的首拼音
如果是非汉字字符
*/
ALTER function [dbo].[fun_getPY]
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
then (
select top 1 PY
from
(
select 'A' as PY,N'驁' as word
union all select 'B',N'簿'
union all select 'C',N'錯'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all select 'W',N'鶩'
union all select 'X',N'鑂'
union all select 'Y',N'韻'
union all select 'Z',N'咗'
) T
where word>=@word collate Chinese_PRC_CS_AS_KS_WS
order by PY ASC
)
else @word
end)
set @str=right(@str,len(@str)-1)
end
return upper(@PY)
end

调用如下:
代码如下:
select dbo.[fun_getPY]('中国人') 首拼

结果:
ZGR
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何通过SQL找出2个表里值不同的列的方法
  • mysql VARCHAR的最大长度到底是多少
  • Mysql varchar大小长度问题介绍
  • mysql 编码 汉字识别-求解答谢谢,mysql的Incorrect String value错误
  • sqlserver中求字符串中汉字的个数的sql语句
  • sqlserver 快速生成汉字的首拼字母的函数(经典)
  • sql存储过程获取汉字拼音头字母函数
  • SQL 根据汉字获取全拼的代码
  • sqlServer 获取汉字字串的拼音声母
  • MSSQL 提取汉字实现语句

相关文章

  • 2018-12-05mssql server 数据库附加不上解决办法分享
  • 2018-12-05小系统单据自动生成存储过程
  • 2018-12-05Mysql中校对集utf8_unicode_ci与utf8_general_ci的区别说明
  • 2018-12-05sqlserver 数据库日志备份和恢复步骤
  • 2018-12-05Mysql优化与索引总分析【图解】
  • 2017-05-11让MySQL支持中文排序的实现方法
  • 2018-12-05SQLSERVER 创建索引实现代码
  • 2017-05-11MySQL的Data_ADD函数与日期格式化函数说明
  • 2018-12-05 【MySQL 13】数据库设计
  • 2018-12-05MySQL之-CentOS下my.cnf 配置日志类型及文件配置的示例代码

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 详细介绍mysql sql语句隐藏手机号码中间四位的方法
    • 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备
    • MySQL 重装MySQL后, mysql服务无法启动
    • MySQL数据库利用Python操作Schema方法详解
    • MySQL数据库select for update的使用方法
    • mysql 5.7.14 安装配置方法图文详细教程_MySQL
    • Sqlserver 存储过程中结合事务的代码
    • 实战mysql集群搭建(二)-- 实现mysql数据库主从复制
    • MySQ索引操作命令总结(创建、重建、查询和删除索引命令详解)
    • SQL Server导入、导出、备份数据方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有