我有以下查询工作正常,但我也想使用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
有人可以帮忙吗?我如何使用喜欢,我也想用它作为参数。
答案 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 +%')
不确定问题是什么,或者我完全不理解。