`

让你的查询支持中文拼音码模糊查询。

阅读更多
    需求:在做软件的过程中,发现不少客户在做数据检索时,打汉字怕麻烦,也影响工作效率,要求在查询时,支持查询汉字的字母开头查询。
    做到支持数据库拼音码查询,主要分一下几步实现:
    1.在数据库中建立一个sys_spell_dict表,把常用的汉字与拼音字母做为对照信息存储到数据库中。下面以SQL server 2005数据库的SQL语言格式编写实现。
    <1>.先创建sys_spell_dict表。
CREATE TABLE [dbo].[sys_spell_dict](
	[id] [int] NOT NULL,
	[char_code] [varchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[spell_code] [varchar](1) COLLATE Chinese_PRC_CI_AS NULL,
 CONSTRAINT [PK_sys_spell_dict] PRIMARY KEY CLUSTERED 
(
	[char_code] ASC
)) ON [PRIMARY]

    <2>.你需要从网上找到常用的字与拼音对照数据导入数据表中(以下仅简单示例,常用的字库对照6800左右,请自己收集)
idchar_codespell_code
42 A
41 A
5975 A
4576 G
45 A
47 A
46 A
43 A
44 A
5995 A
4415 A
48 A
49 A

    <3>.编写转换函数
   
CREATE FUNCTION [dbo].[getSpellCodeFun] (@in_char VARCHAR(100),@type VARCHAR(2))
RETURNS VARCHAR(100)
AS
BEGIN
	declare @each_char varchar(10)
	declare @each_py varchar(2)
	declare @all_py varchar(100)
	declare @r int
	declare @all_len int
	declare @rr int
	declare @pyreturn varchar(100)
	
	set @r=1
	set @all_len=len(ltrim(rtrim(@in_char)))
	set @all_py=''

	
	while (@r<=@all_len)
	begin
		set @each_char=substring(@in_char,@r,1)
		select @rr=count(*) from sys_spell where @each_char=char_code		
		if @rr>0
			select @each_py=spell_code from sys_spell_dict where @each_char=char_code		
		else
		begin
			set @each_py=''
		end	
		set @all_py=@all_py+isnull(@each_py,'')
		set @r=@r+1
	end
	 set @pyreturn= @all_py
	return upper( @pyreturn )

END

   <4>.中文转换拼音码测试
     在查询分析器中,
select dbo.getSpellCodeFun('中华人民共和国','py')
将回返回‘ZHRMGHG’中文拼音首字母查询

    <5>企业应用开发:1.你可以在写入数据时,把中文转成拼音码存入数据库中比如Spell字段中(处理程序需要另写)。
    2.写查询语句时,利用dbo.getSpellCodeFun先转成拼音码匹配查询条件。
    如人员表中有数据
idemp_codeemp_name
1001比尔
2002牛顿

你在写SQL时如此写即可
declare @py nvarchar(50)
set @py='BE'
select * from sys_emp where dbo.getSpellCodeFun(emp_name,'py') like '%'+@py+'%'
查询时将显示出中文拼音首字母为BE,即emp_name叫比尔的员工。

至此简单支持数据拼音首字母的示例就讲完了,如果你想做以XX拼音字母开头的查询,去掉@py前的'%'+即可。
分享到:
评论

相关推荐

    oracle拼音首字母查询

    在中文环境中,为了方便用户根据汉字的拼音首字母进行快速查找,这种查询方式尤其有用。Oracle数据库虽然原生支持英文字符集,但通过特定的方法,也可以处理中文字符集并实现拼音查询功能。以下将详细阐述这一主题。...

    改写下jquery.searchableSelect.js 支持汉字模糊查询

    "改写下jquery.searchableSelect.js 支持汉字模糊查询"这个主题,就是关于如何优化一个JavaScript插件,使其能更好地适应中文环境,提升用户在下拉框中搜索汉字的效率。 `jquery.searchableSelect.js`是一个jQuery...

    获取拼音首码和五笔首码

    在IT领域,拼音首码和五笔首码是汉字输入法中的关键技术,它们与数据库的结合使用能够提高数据处理和搜索效率。本文将详细讲解这两个概念及其在数据库环境中的应用。 拼音首码是基于汉语拼音的简写形式,通常用于...

    NSPredicate模糊搜索(全方面搜索)支持中文、数字、字母

    在本案例中,我们关注的是NSPredicate在实现模糊搜索,特别是支持中文、数字和字母方面的应用。模糊搜索允许用户输入不完全或部分关键词,系统就能找到匹配的记录,提高了用户体验。 首先,让我们理解NSPredicate的...

    Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    在MySQL中实现中文汉字转拼音的功能,主要是为了方便在数据库查询和数据分析时处理中文文本,尤其是在没有全文索引或者需要进行复杂模糊匹配时。以下是一个简单的实现方法,它利用自定义函数来完成这一任务。 首先...

    仿携程网城市输入框,支持中文/拼音/3字码 输入的智能提示

    总结来说,实现“仿携程网城市输入框,支持中文/拼音/3字码 输入的智能提示”涉及到的技术点包括:前端交互设计、HTML/CSS基础、JavaScript事件处理、数据匹配算法、中文转拼音处理、三字码查询、异步通信(AJAX)、...

    PB 拼音码转换函数

    1. **拼音码转换**:在处理中文文本时,将汉字转换为拼音是常见的需求,例如在搜索引擎中进行模糊匹配,或者在数据分析时进行文本预处理。 2. **PowerBuilder**:这是一种面向对象的编程语言,常用于开发企业级应用...

    javascript汉字转换成拼音

    在多语言支持的网站或应用中,为了提高用户体验和搜索效率,开发者往往需要将用户输入的汉字实时转换为拼音,这不仅有助于非中文母语使用者的理解,还能增强搜索功能的灵活性。例如,在一个中文图书管理系统中,通过...

    iOS 汉字转拼音助手

    这个库能够高效地将中文字符串转化为对应的拼音表示,使得开发者无需深入了解汉字与拼音之间的复杂关系,也能轻松实现这一功能。 首先,我们要理解汉字转拼音的基本原理。在计算机处理汉字时,通常会使用Unicode...

    Mysql 汉字转拼音首字母

    Mysql 汉字转拼音首字母,使用方式: 运行后生成一个表 一个函数 ,SELECT getPY("龍的传人");查询结果为LDCR。 不支持多音字。

    android汉字转拼音

    在Android平台上,有时候我们需要将汉字转换为对应的拼音,例如在搜索功能中实现模糊匹配,或者在用户输入时提供拼音首字母导航。这个“android汉字转拼音”项目正是为了解决这样的需求。它基于Android 4.2的源码...

    T-SQL 拼音汉字对照表

    在数据库操作中,尤其是处理中文数据时,T-SQL(Transact-SQL)作为一种强大的查询语言,提供了丰富的功能来支持各种数据处理需求。本文将详细介绍一个用于T-SQL环境中的拼音汉字对照表的实现原理及应用,帮助读者更...

    将军码输入法拼音版5.1

    将军码输入法是一款集形码输入(拆字读音取声母)和拼音输入一体的高度智能化输入法平台。 将军码输入法支持: ...使用这款输入法可以做到拼音不翻页,不会拼音也会打字,使你充分享受汉字输入的乐趣!

    C#拼音检索示例代码

    此程序的核心功能是将中文字符转换为对应的拼音,并且支持在数据库中进行模糊查询,以便用户可以利用拼音进行关键词搜索。下面我们将详细探讨这个项目的组成部分、实现原理以及涉及到的关键技术。 首先,C#是一种由...

    bootstrapvalidator表单验证 +select2 拼音模糊匹配 demo

    同时,为了确保拼音匹配的准确性,可能需要使用到第三方的拼音库,例如pinyin-js或zhon.hanzi,它们可以将汉字转换成拼音,从而实现模糊匹配。 在实际应用中,为了使这两者完美结合,你需要在HTML中正确地引入...

    汉字转拼音转五笔软件下载

    3. 拼音模糊搜索:支持声母、韵母的模糊匹配,即使输入部分拼音也能找到对应的汉字。 4. 五笔反查:用户输入五笔编码,软件能显示出对应的汉字,方便检查和确认。 5. 学习模式:为用户提供汉字、拼音、五笔码的学习...

    拼音加加 v4.2.0.11

    全面继承了各种拼音输入法的长处。它支持全拼、双拼、简拼、声母拼词、立即造词、频度调整、模糊音设置等;支持微软视窗全系列操作...而且你再也不会被念不出来的字难住了,你用笔画输入汉字,它还会提示你如何发音。

    拼音加加 2004 v3.11

    全面继承了各种拼音输入法的长处,支持全拼、双拼、简拼、声母拼词、立即造词、频度调整、模糊音设置等;支持 GBK 大字符集;无需切换,直接混合输入中英文;还精心设计的三重码技术,辅以左右 Shift 键选择重码,...

    拼音加加输入法下载v5.2.zip

    拼音加加输入法支持全拼、双拼、简拼、声母拼词、立即造词、频度调整、模糊音设置等;支持微软视窗全系列操作系统;支持 GBK 大字符集;无需切换,直接混合输入中英文;还精心设计的三重码技术,辅以左右 Shift 键...

    根据键盘输入,获取汉字助记码,全拼等

    在IT行业中,尤其是在前端开发领域,常常需要处理与汉字和拼音相关的任务。标题"根据键盘输入,获取汉字助记码,全拼等"所描述的功能是实现一个系统或工具,能够根据用户通过键盘输入的汉字,实时提供该汉字的助记码...

Global site tag (gtag.js) - Google Analytics