我想使用like关键字获取记录

时间:2009-07-06 08:59:22

标签: sql

我有以下查询工作正常,但我也想使用like关键字获取记录。我的查询如下,

USE [POBox]
GO
/****** Object:  StoredProcedure [dbo].[test]    Script Date: 07/06/2009 12:55:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[test] --'DateTime','1','10'
(
@p_SortExpression NVARCHAR(100),
@p_StartIndex INT,
@p_MaxRows INT
)
AS
SET NOCOUNT ON;
IF LEN(@p_SortExpression)= 0 
SET @p_SortExpression = 'DateTime DESC'

DECLARE @Sql NVARCHAR(4000)
SET @Sql ='SELECT ID, DateTime, Subject, CreatedBy, ToReceipientID , ReceiverStatus
           FROM
           (
           SELECT ID, DateTime, Subject,CreatedBy, ToReceipientID, ReceiverStatus,
           ROW_NUMBER() OVER(ORDER BY ' + @p_SortExpression + ') AS Indexing
           FROM ComposeMail
            WHERE (Subject Like '%+ test +%') 
           )
           AS NewDataTable
           WHERE  Indexing > '+ CONVERT(NVARCHAR(10), @p_StartIndex) + ' AND Indexing<=(' + CONVERT (NVARCHAR(10),@p_StartIndex )+'+'+ CONVERT(NVARCHAR(10),@p_MaxRows)+')'

           EXEC sp_executesql @sql

有人可以帮忙吗?我如何使用喜欢,我也想用它作为参数。

2 个答案:

答案 0 :(得分:2)

我认为你要求的是:我如何在sql中使用like命令?

对于您的代码,添加一个新参数:

@SearchText nvarchar(100)

然后替换:

WHERE (Subject Like '%+ test +%')

WHERE Subject (Like ''%'+ ISNULL(test, '') +'%''')

有关详细信息,请查看此处: http://msdn.microsoft.com/en-us/library/ms179859.aspx

答案 1 :(得分:0)

你是否已经喜欢使用:

WHERE (Subject Like '%+ test +%')

不确定问题是什么,或者我完全不理解。