`

sql 获取首字母

    博客分类:
  • sql
 
阅读更多

USE [GYJIAOCANDB]------------------这要改成你的数据库名称

GO

/****** 对象:  UserDefinedFunction [dbo].[getFirstLetter]    脚本日期: 01/16/2014 14:35:42 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

 

create function [dbo].[getFirstLetter]

    @str nvarchar(4000) 

returns nvarchar(4000) 

as 

begin

 

declare @word nchar(1),@PY nvarchar(4000)

 

set @PY=''

 

set @str=left(@str,1)

 

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 @PY 

end

 

调用:select top 100 dbo.getFirstLetter(title) from dbo.NFavorites

 

分享到:
评论

相关推荐

    SQL取得汉字拼音首字母

    SQL取得汉字拼音首字母SQL取得汉字拼音首字母SQL取得汉字拼音首字母SQL取得汉字拼音首字母SQL取得汉字拼音首字母

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

    "SQL Server中获取多音字拼音首字母.pdf" 本文主要讨论了在 SQL Server 中获取多音字拼音首字母的方法。该方法可以简化商品的名称、客户单位的名称的查询,在医院管理信息系统中,输入:“JN”就可以定位到“胶囊”...

    sql 按拼音首字母排序

    本文将深入探讨如何利用SQL实现按拼音首字母进行排序的功能,这是一个对于处理中文数据尤其有用的技术点。通过解析提供的代码片段,我们将了解其工作原理、适用场景以及可能的优化方向。 ### SQL拼音排序功能概述 ...

    sqlserver获取汉字的汉语拼音首字母支持多音字

    "sqlserver获取汉字的汉语拼音首字母支持多音字"这个主题就是针对这一需求的具体解决方案。下面将详细介绍这个知识点及其相关技术。 首先,SQL Server本身并不直接支持汉字转拼音的功能,因此需要借助额外的函数...

    oracle获取汉字拼音和拼音首字母的功能函数

    在Oracle数据库中,处理汉字和拼音的场景时,有时我们需要获取汉字的拼音或者拼音首字母。这在构建中文搜索引擎、数据分析或报表展示等场景中非常有用。Oracle提供了一些内置的功能函数,可以用来实现这些需求。以下...

    SQL 汉字转拼音首字母

    4. **拼音映射**:对于每个汉字,查询一个预设的拼音表来获取其拼音首字母。这里使用了一个子查询,其中包含了部分常见的拼音首字母与汉字之间的映射关系。通过比较输入的汉字与表中的汉字,找到最小的一个拼音首...

    SQL 拼音首字母

    SQL Server 本身并不支持直接获取汉字的拼音首字母功能,因此开发者通常会采用自定义函数的方式来实现这一需求。 #### 二、自定义函数`fun_getPY`详解 本节将详细介绍如何在SQL Server中创建一个自定义函数`fun_...

    数据库获取中文首字母自定义函数(字母查汉字模糊查询)

    标题“数据库获取中文首字母自定义函数(字母查汉字模糊查询)”指的是在数据库系统中定义一个函数,该函数能接受用户输入的英文首字母,然后返回所有以该首字母为拼音首字母的中文字段。这种功能对于具有大量中文...

    获取中文首字母sql函数

    获取中文首字母sql函数

    SQL取汉字拼音首字母的存储过程

    SQL取汉字拼音首字母的存储过程。对于查询汉字的很方便,不用输汉字,输入汉字拼音首字母就OK了。

    关于Oracle中转中文,获取首字母的问题

    在Oracle数据库中处理中文字符,特别是需要将汉字转换为拼音并获取首字母,是一个常见的需求。这在构建索引、搜索优化或者特定的数据处理场景中非常有用。本篇将详细探讨如何在Oracle环境下实现这个功能。 首先,...

    sql 函数——汉字首字母

    ### SQL函数:获取汉字首字母 在SQL编程中,处理非英文字符的需求非常普遍,特别是在中文环境下。本文将详细介绍一个自定义SQL函数`fun_getPY`,该函数用于获取输入字符串中每个汉字的拼音首字母,并返回这些首字母...

    MySQL函数实现获取汉字拼音首字母

    使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母

    取汉字拼音或首字母的PL/SQL存储过程

    本文将详细解析如何利用PL/SQL编写存储过程来获取汉字的拼音或首字母,主要针对Oracle 9i及以上版本。 首先,我们需要理解汉字转拼音的基本原理。在Oracle中,我们可以借助内置的UTL_I18N和UTL_RAW库来实现这一功能...

    查询汉字首字母及全拼sql自定义方法

    标题中的"查询汉字首字母及全拼sql自定义方法"指的是创建自定义的SQL函数,用于获取汉字的首字母(通常是声母)以及其完整的拼音。这种方法对于没有内置拼音支持的数据库系统特别有用,例如MySQL、SQL Server或...

    oracle获取汉字拼音首字母

    ### Oracle 获取汉字拼音首字母 在Oracle数据库中实现获取汉字拼音首字母的需求,通常涉及到对中文字符的处理以及拼音转换的技术。这样的功能可以应用于多种场景,例如数据排序、索引建立或是快速检索等。本文将...

    Oracle查询取汉字拼音首字母

    Oracle查询取汉字拼音首字母Function

    oracle生成拼音、五笔首字母的functions方法

    本文将详细介绍如何在Oracle中实现这一功能,主要基于提供的两个SQL脚本文件:`oracle生成五笔首字母的functions方法.sql`和`oracle生成拼音首字母的functions方法.sql`。 首先,我们来探讨拼音首字母的生成。在...

    全国城市(含省市区、经纬度、首字母、邮政编码、电话区号)sql

    标题中的“全国城市(含省市区、经纬度、首字母、邮政编码、电话区号)sql”表明这是一个关于中国所有城市的数据集,其中包含了省级行政单位、市级行政单位以及区级行政单位的相关信息。这个数据集是用SQL...

    mysql根据汉字首字母及全拼查询(主要解决生僻汉字获取错误问题,基本所有汉字都可以正确拿到首字母和全拼)

    ## 获取name字段的首字母和全拼 SELECT to_getPY(name),to_pinyin(name) FROM pingying ##根据首字母查询 SELECT * FROM pingying where getPY(name)="QZ" ##"QZ"是参数 ##pingying是表名 name是需要查询列的列名

Global site tag (gtag.js) - Google Analytics