• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MS SQL Server 2000 中文模糊搜寻存储过_sqlserver

sqlserver 搞代码 3年前 (2018-06-16) 111次浏览 已收录 0个评论

这些存储过程/函数可以在 MS SQL Server 2000 里使用,包含两组存储过程, 这两组函数的功能相同, 只是适用的汉字内码范围不同。
这些存储过程及函数支持 GBK (大陆简体中文及繁体中文) 和 BIG5 内码 (台湾及香港等的繁体中文)
这些函数将直接用在 SQL 语句里, 使用非常方便。
可以按照含有读音相近的文字进行查找, 可以处理多音字, 可以查找含有某个相近读音的字的记录, 在查找姓名时特别有用。
这些存储过程全部用 C++ Builder 编写, 并且汉字读音全部由 C++ 处理, 效率比较高, 比汉字读音储存在数据库里用 SQL 查询快很多

http://www.gaodaima.com/35997.htmlMS SQL Server 2000 中文模糊搜寻存储过_sqlserver

【授权方式】
1.本存储过程为免费软件(Freeware), 可以免费使用.
2.如果你(无论你代表个人还是实体)要发布软件或者作为商业用途, 这个软件(存储过程/函数)必须作为你的软件的功能的一部分,
不能单独发布和出售本软件(存储过程), 也不能以这个软件制作一个类似功能的软件(存储过程或函数等)来发布.
3.这个授权仅授权给你(无论你代表个人还是实体), 你不能再次授权给别人进行授权和发布.

【使用方法】
具体参数说明参考安装方法里面的 SQL 语句

得到名字的读音编码 (GBK)
select name,dbo.fn_cncode(name,8) from table1搜寻所有名字含有与’小宝’读音相近的记录, 不区分 Zh Ch Sh 与 z c s (GBK)
select * from table1 where dbo.fn_cnlike(name,’小宝’,9)<>0
得到名字的读音编码 (BIG5)
select name,dbo.fn_cncode(name,0) from table1
搜寻所有名字含有与’小’读音相近的记录, 不区分 ㄓㄔㄕ 与 ㄗㄘㄙ (BIG5)
select * from table1 where dbo.fn_cnlike(name,’小’,1)<>0
【安装方法】
1.把动态链接库 VictorMsUa.dll 复制到 MS SQL Server 的 Binn 文件夹。
默认位置为 C:/Program Files/Microsoft SQL Server/MSSQL/Binn
2.通过执行 SQL 语句注册存储过程,这些存储过程必须在 Master 数据库里面注册。
打开 Master 数据库,然后执行下面 SQL 语句
EXEC sp_addextendedproc ‘xp_getspcode’ , ‘VictorMsUa.dll’
EXEC sp_addextendedproc ‘xp_gbksndlike’ , ‘VictorMsUa.dll’
EXEC sp_addextendedproc ‘xp_getchinesecode’, ‘VictorMsUa.dll’
EXEC sp_addextendedproc ‘xp_chinesesndlike’, ‘VictorMsUa.dll’
3.在用户数据库里面创建对应的函数
打开用户数据库,然后执行下面的 SQL 语句
— GBK 编码, 支持繁体中文和简体中文
— str1: 汉字字符串, 返回值: 拼音编码 (双拼格式)
CREATE FUNCTION fn_getspcode (@str1 VARCHAR(8000))
RETURNS CHAR(1024) AS
BEGIN
  DECLARE @sp CHAR(1024)
  EXEC master.dbo.xp_getspcode @str1, @sp OUTPUT
  RETURN @sp
END
go
— GBK 编码, 支持繁体中文和简体中文
— sstr 和 ssub 为汉字字符串, 从 sstr 里面按照读音相近规则查找 ssub
— options: 0: 一般选项, 1:不区分Zh Ch Sh 与 z c s , 2:任意序, 3:包括1和2 (GBK)
CREATE FUNCTION fn_gbksndlike (@sstr VARCHAR(8000), @ssub VARCHAR(8000), @options SMALLINT)
RETURNS SMALLINT AS
BEGIN
  DECLARE @v SMALLINT
  EXEC master.dbo.xp_gbksndlike @sstr, @ssub, @options, @v OUTPUT
  RETURN @v
END
go
— 支持 BIG5 和 GBK 两种汉字编码, 支持繁体中文和简体中文, 通过 options 参数设定
— str1: 汉字字符串, 返回值: 拼音编码 (双拼格式)
— options: 0: BIG5 编码, 8: GBK 编码
CREATE FUNCTION fn_cncode (@str1 VARCHAR(8000), @options SMALLINT)
RETURNS CHAR(1024) AS
BEGIN
  DECLARE @sp CHAR(1024)
  EXEC master.dbo.xp_getchinesecode @str1, @options, @sp OUTPUT
  RETURN @sp
END
go
— 支持 BIG5 和 GBK 两种汉字编码, 支持繁体中文和简体中文, 通过 options 参数设定
— sstr 和 ssub 为汉字字符串, 从 sstr 里面按照读音相近规则查找 ssub
— options: BIG5: 0: 一般选项, 1:不区分Zh Ch Sh 与 z c s , 2:任意序, 3:包括1和2 (GBK)
— GBK : 8: 一般选项, 9:不区分Zh Ch Sh 与 z c s , 10:任意序, 11:包括1和2 (GBK)
CREATE FUNCTION fn_cnlike (@sstr VARCHAR(8000), @ssub VARCHAR(8000), @options SMALLINT)
RETURNS SMALLINT AS
BEGIN
  DECLARE @v SMALLINT
  EXEC master.dbo.xp_chinesesndlike @sstr, @ssub, @options, @v OUTPUT
  RETURN @v
END
go

下载 MS SQL Server 2000 中文模糊搜寻存储过程

欢迎大家阅读《MS SQL Server 2000 中文模糊搜寻存储过_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址