`
baobeituping
  • 浏览: 1064929 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

SQLSERVER中将人命解析成拼音的函数

阅读更多

1.第一个函数是取得姓名每个中文汉字的第一个字母

CREATE FUNCTION f_GetPY(@str nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
 DECLARE @py TABLE(
  ch char(1),
  hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS,
  hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS)
 INSERT @py SELECT 'A',N'吖',N'鏊'
 UNION  ALL SELECT 'B',N'八',N'簿'
 UNION  ALL SELECT 'C',N'嚓',N'错'
 UNION  ALL SELECT 'D',N'哒',N'跺'
 UNION  ALL SELECT 'E',N'屙',N'贰'
 UNION  ALL SELECT 'F',N'发',N'馥'
 UNION  ALL SELECT 'G',N'旮',N'过'
 UNION  ALL SELECT 'H',N'铪',N'蠖'
 UNION  ALL SELECT 'J',N'丌',N'竣'
 UNION  ALL SELECT 'K',N'咔',N'廓'
 UNION  ALL SELECT 'L',N'垃',N'雒'
 UNION  ALL SELECT 'M',N'妈',N'穆'
 UNION  ALL SELECT 'N',N'拿',N'糯'
 UNION  ALL SELECT 'O',N'噢',N'沤'
 UNION  ALL SELECT 'P',N'趴',N'曝'
 UNION  ALL SELECT 'Q',N'七',N'群'
 UNION  ALL SELECT 'R',N'蚺',N'箬'
 UNION  ALL SELECT 'S',N'仨',N'锁'
 UNION  ALL SELECT 'T',N'他',N'箨'
 UNION  ALL SELECT 'W',N'哇',N'鋈'
 UNION  ALL SELECT 'X',N'夕',N'蕈'
 UNION  ALL SELECT 'Y',N'丫',N'蕴'
 UNION  ALL SELECT 'Z',N'匝',N'做'
 DECLARE @i int
 SET @i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
 WHILE @i>0
  SELECT @str=REPLACE(@str,SUBSTRING(@str,@i,1),ch)
   ,@i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
  FROM @py
  WHERE SUBSTRING(@str,@i,1) BETWEEN hz1 AND hz2
 RETURN(@str)
END
GO

--用法
select   dbo.f_GetPY('吴蔚玲')   as   东莞市,dbo.f_GetPY('ab中c国人')   as   中国人 

--将已有表中的某个字段更新成拼音字段

select name,pinyin from person_main_test

update person_main_test set PinYin=dbo.f_GetPY(Name)

 

 

 

2.获得整个中文名字的拼音

create   function   f_getpyALL(@str varchar(100))  
  returns   varchar(8000) 
  as  
  begin
  declare @returnValue varchar(8000) 
  declare   @re   table(id   int,re   varchar(8000))    
   
  declare   @i   int,@ilen   int,@splitchr   varchar(1)  
  select   @splitchr='' ,@i=1,@ilen=len(@str)  
  insert   into   @re   select   @i,py   from   YingShe   where   chr=substring(@str,@i,1)  
  while   @i<@ilen  
   begin  
   set   @i=@i+1  
   insert   into   @re   select   @i,re+@splitchr+py   from   @re   a,YingShe   b  
   where   a.id=@i-1   and   b.chr=substring(@str,@i,1)  
   end  
    select  @returnValue= re   from   @re   where   id=@i  
    return  (@returnValue)  
  end  

 

分享到:
评论

相关推荐

    sql server事务日志解析工具

    每个 SQL Server 数据库都有事务日志,用于记录所有事务以及每个事务所做的数据库修改。 你是否想读取和分析SQL Server日志文件 (.ldf) ?正找不到合适的软件呢?以上一款强大的sql数据库日志分析工具,可以轻松打开...

    Sql Server Json解析

    sql server 2014 JSON解析到表函数 CREATE FUNCTION [dbo].[parseJSON]( @JSON NVARCHAR(MAX)) RETURNS @hierarchy TABLE ( element_id INT IDENTITY(1, 1) NOT NULL, ...

    sql server汉字转化为拼音首字母函数

    输入汉字字符参数,返回汉字拼音的首字母!

    SQL Server 2012 深入解析与性能优化

    第3版、SQL Server、SQL Server 2012 进行深入解析与性能优化

    Sql Server解析Json

    本文将深入探讨 SQL Server 如何解析 JSON 数据,并详细介绍一种自定义函数 `dbo.parseJSON` 的实现细节。 #### 一、SQL Server 中的 JSON 支持概述 SQL Server 2016 及以后版本提供了内置的支持来处理 JSON 数据...

    sqlserver snowflake 函数

    使用c# 编写的 sqlserver udf 雪花函数 编译环境为 .net framework 4.5 目标数据库为 sqlserver2012 实际可以在 sqlserver2012-2019 上发布使用 注: 1. 需要开启多个实例权限 2. 需要开启单数据库信任 3. 该程序...

    SqlServer生成拼音首字母函数

    Sqlserver生成拼音首字母函数,思路清晰、代码简单。可用于SqlServer各版本中。

    SQL Server之JSON 函数详解

    本文将详细解析SQL Server中的几个关键JSON函数:ISJSON、JSON_VALUE、JSON_MODIFY和JSON_QUERY。 **1. ISJSON函数** ISJSON函数用于检测一个字符串是否符合JSON格式。例如: ```sql DECLARE @jsonString NVARCHAR...

    sqlserver汉字转拼音(绝对的经典直接创建可用)

    根据提供的文件信息,本文将对如何在SQL Server中实现汉字到拼音的转换这一技术进行详细的解析与探讨。此方法提供了一种直接可用的功能,能够帮助用户轻松地将数据库中的汉字字段转换为对应的拼音形式。 ### SQL ...

    SQL Server中获取多音字拼音首字母.pdf

    因此,需要一种基于 SQL Server 排序规则的一种函数来获取汉字的拼音首字母。 SQL Server 的排序规则是根据特定语言和区域设置标准指定对字符串数据进行排序和比较的规则。在 SQL 查询语言中,order by 语句实现...

    sqlserver MD5函数

    ### SQL Server MD5函数知识点详解 #### 一、概述 SQL Server本身并未提供直接支持MD5加密算法的内置函数,但可以通过自定义函数的方式实现这一功能。本文将详细介绍如何在SQL Server环境中创建并使用MD5加密函数,...

    根据拼音在sqlserver查询汉字

    在SQL Server中,根据拼音查询汉字是一项非常实用的功能,尤其对于中文数据的检索和排序有着重要作用。本示例主要展示了如何利用SQL Server的排序规则和自定义函数来实现这一功能。 首先,我们要理解SQL Server的...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    21.SQL Server 2014聚合函数AVG() SUM().mp4 22.SQL Server 2014聚合函数MIN() MAX().mp4 23.SQL Server 2014COUNT和SUM()函数.mp4 24.SQL Server 2014 LEN()函数.mp4 25.SQL Server 2014随机数的产生.mp4 26....

    sqlserver2005的base64加密解密函数

    在SQL Server 2005中,没有内置的Base64加密函数。但我们可以自定义T-SQL存储过程来实现这个功能。以下是一个简单的Base64编码的示例: ```sql CREATE FUNCTION [dbo].[Base64Encode](@input NVARCHAR(MAX)) ...

    sqlserver2000 拼音码 五笔码

    在这个特定的压缩包文件中,包含的是关于SQL Server 2000的一些特殊字符、关键字或者常用语句的拼音码和五笔码,这些编码通常用于输入法软件中,方便用户在编写SQL语句时快速输入。 拼音码是将汉字转换为汉语拼音的...

    拼音和五笔码转换函数

    在SQL Server这一强大数据库管理系统中,有时候我们需要处理特定的数据编码问题,例如将汉字转换成拼音或五笔码。标题为"拼音和五笔码转换函数"的压缩包正是为了解决这类问题而设计的。这个资源包含了实现这种转换...

    sqlserver时间函数

    时间函数,sqlserver,标签系统标签系统标签系统标签系统

    SQLServer数据库游标和函数的使用(经典)

    在SQL Server中,数据库游标和函数是两个非常重要的概念,它们在数据处理和数据库操作中扮演着不可或缺的角色。游标允许我们逐行处理查询结果,而函数则提供了丰富的计算和逻辑处理能力。 首先,让我们深入理解SQL ...

    sql server中将数据库导成脚本的工具

    该工具能帮助您将sql server中大量的数据导成sql脚本,防止数据的丢失,方便快捷。

Global site tag (gtag.js) - Google Analytics