国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

MS SQL Server 2000 中文模糊搜尋存儲過程及函數

2024-08-31 00:49:04
字體:
來源:轉載
供稿:網友
國內最大的酷站演示中心!

這些存儲過程/函數可以在 ms sql server 2000 里使用,包含兩組存儲過程, 這兩組函數的功能相同, 只是適用的漢字內碼范圍不同。
這些存儲過程及函數支持 gbk (大陸簡體中文及繁體中文) 和 big5 內碼 (臺灣及香港等的繁體中文)
這些函數將直接用在 sql 語句里, 使用非常方便。
可以按照含有讀音相近的文字進行查找, 可以處理多音字, 可以查找含有某個相近讀音的字的記錄, 在查找姓名時特別有用。
這些存儲過程全部用 c++ builder 編寫, 并且漢字讀音全部由 c++ 處理, 效率比較高, 比漢字讀音儲存在數據庫里用 sql 查詢快很多

【授權方式】
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 中文模糊搜尋存儲過程

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇南市| 云龙县| 酒泉市| 当涂县| 宁陕县| 合山市| 泽州县| 麦盖提县| 湟中县| 邮箱| 张掖市| 台南市| 独山县| 息烽县| 胶南市| 云龙县| 平乡县| 六安市| 金阳县| 镶黄旗| 金寨县| 龙海市| 合水县| 美姑县| 自治县| 中卫市| 宜川县| 巴青县| 邵阳县| 永丰县| 梨树县| 奇台县| 黄梅县| 平顺县| 墨竹工卡县| 沁水县| 北流市| 镇巴县| 北碚区| 莱西市| 乌拉特中旗|