根据汉字声母,在表中找相关记录。比如输入"zgyh",就能找到所有“中国银行”的记录。
来源:互联网 发布:sql主键约束冲突 编辑:程序博客网 时间:2024/06/11 19:35
根据汉字声母,要在表中找相关记录,怎么实现?比如输入"zgyh",就能找到所有“中国银行”的记录。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_GetPy]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_GetPy]
GO
--创建取拼音函数
create function f_GetPy(@Str nvarchar(400))
returns nvarchar(4000)
as
begin
declare @strlen int,@re nvarchar(4000)
declare @t table(chr nchar(1) collate Chinese_PRC_CI_AS,letter nchar(1))
insert @t select '吖','A' union all select '八','B'
union all select '嚓','C' union all select '咑','D'
union all select '妸','E' union all select '发','F'
union all select '旮','G' union all select '铪','H'
union all select '丌','J' union all select '咔','K'
union all select '垃','L' union all select '嘸','M'
union all select '拏','N' union all select '噢','O'
union all select '妑','P' union all select '七','Q'
union all select '呥','R' union all select '仨','S'
union all select '他','T' union all select '屲','W'
union all select '夕','X' union all select '丫','Y'
union all select '帀','Z'
select @strlen=len(@str),@re=''
while @strlen>0
begin
select top 1 @re=letter+@re,@strlen=@strlen-1
from @t a where chr<=substring(@str,@strlen,1)
order by chr desc
if @@rowcount=0
select @re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1
end
return(@re)
end
go
--测试
select dbo.f_GetPy('东莞市') as 东莞市,dbo.f_GetPy('ab中c国人') as 中国人
--以后查询的时候,就可以调用上面的函数来实现汉字模糊查询
select * from 表 where dbo.f_getpy(字段)='zgyh'
- 根据汉字声母,要在表中找相关记录,怎么实现?比如输入"zgyh",就能找到所有“中国银行”的记录。
- 根据汉字声母,在表中找相关记录。比如输入"zgyh",就能找到所有“中国银行”的记录。
- 根据汉字声母,在表中找相关记录。比如输入"zgyh",就能找到所有“中国银行”的记录zz
- 根据汉字声母,在表中找相关记录。比如输入"zgyh",就能找到所有“中国银行”的记录。
- 根据汉字声母,在表中找相关记录
- 在Sql server 如何得到汉字的声母
- magento -- 如何清空掉magento数据库的所有产品(比如在一次失误的导入或者清空测试导入记录)
- syfomy自动根据url中的id找到对应的记录
- 在系统中DN被删除了,如何找到相关的删除记录?
- 在哪里能找到Linux中常用终端程序的源代码(比如ls, more, echo...)
- 关于“所有记录中均未找到搜索关键字”的错误
- Access 出现 所有记录中均未找到搜索关键字 的解决方法!
- 所有记录中均未找到搜索关键字的解决方法!
- 来去电悬浮窗口提示事件记录(根据号码找到相关事情)
- 根据条件来更新表的所有记录T-Sql
- 根据关键字查询oracle中所有表的记录
- Sql server 如何得到汉字的声母
- C# 获取汉字字串的拼音声母
- 重视B/S架构系统的发展和开发设计理念[http://blog.csdn.net/tennal1020/]
- "Search For"病毒查杀
- 第二版出错的地方,大家看看第三版我的翻译对么?
- 1th Nov Lab_Log
- 一个想做程序员的学生的生活-记我班篮球友谊赛
- 根据汉字声母,在表中找相关记录。比如输入"zgyh",就能找到所有“中国银行”的记录。
- 子网掩码的划分
- A simple bootstrap
- 今天的心情
- 推荐一款和Durex公司产品有关的小游戏
- 进入十一月
- Java的秘密:使用全屏幕模式
- 如何使用触发器实现数据库级守护,防止DDL操作
- 搜索引擎 研究