加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#.net+SQL2005 实现简单搜索

发布时间:2020-12-16 09:13:24 所属栏目:百科 来源:网络整理
导读:USE [DATABASE]br / GObr / SET ANSI_NULLS ONbr / GObr / SET QUOTED_IDENTIFIER ONbr / GObr / CREATE function [dbo].[search]br / (@Word nvarchar(max),br / @Phrase nvarchar(max))br / returns smallintbr / asbr / beginbr / if @Word is null or @P

USE [DATABASE]<br />
GO<br />
SET ANSI_NULLS ON<br />
GO<br />
SET QUOTED_IDENTIFIER ON<br />
GO<br />
CREATE function [dbo].[search]<br />
(@Word nvarchar(max),<br />
@Phrase nvarchar(max))<br />
returns smallint<br />
as<br />
begin<br />
if @Word is null or @Phrase is null return 0<br />
DECLARE @BiggerWord VARCHAR(max)<br />
SELECT @BiggerWord = @Word + ‘x‘<br />
DECLARE @BiggerPhrase VARCHAR(max)<br />
SELECT @BiggerPhrase = REPLACE (@Phrase,@Word,@BiggerWord)<br />
RETURN LEN(@BiggerPhrase) - LEN(@Phrase)<br />
END

利用以上函数创建存储过程,提供3个参数查询条件

USE [DATABASE]<br />GO</p><p>SET ANSI_NULLS ON<br />GO<br />SET QUOTED_IDENTIFIER ON<br />GO<br />CREATR PROCEDURE [dbo].[SearchDog]<br />( </p><p> @Word1 nVARCHAR(max)=null,<br /> @Word2 nVARCHAR(max)=null,<br /> @Word3 nVARCHAR(max)=null)<br />AS<br />DECLARE @Dog TABLE<br /> (<br /> DogHead nvarchar(max),<br /> DogBody nVARCHAR(max),<br /> Rank INT)</p><p> INSERT INTO @Dog<br /> SELECT DogHead,DogBody,<br /> 3 * dbo.search(@Word1,DogHead) + dbo.search(@Word1,DogBody) +<br /> 3 * dbo.search(@Word2,DogHead) + dbo.search(@Word2,DogBody) +<br /> 3 * dbo.search(@Word3,DogHead) + dbo.search(@Word3,DogBody)<br /> AS Rank<br /> FROM Dog ORDER BY Rank DESC</p><p>SELECT DogHead,Rank FROM @Dog<br />WHERE Rank > 0<br />ORDER BY Rank DESC

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读