使用字符串搜索表

时间:2015-08-12 10:02:47

标签: sql sql-server stored-procedures

我有一个存储过程,在表中搜索用户设置的变量,它工作正常,但搜索只找到字符串输入的第一个字母。

我正在使用 - >

ALTER PROCEDURE [dbo].[test]
    @search_string varchar  
AS
BEGIN

    SET NOCOUNT ON;
    IF (@search_string IS NOT NULL) OR (LEN(@search_string) > 0)
        SELECT [archive_id]      
               [archive_id],
               [display_name]
        FROM [test1].[dbo].[ARCHIVE_id]
        WHERE [display_name] like @search_string+'%'; 

我想弄清楚的是我如何在display_name列中搜索整个单词。

任何帮助都将不胜感激。

马克

2 个答案:

答案 0 :(得分:4)

您必须声明变量的大小

Source workbook

这应该有效

答案 1 :(得分:0)

请参阅LIKE

%  Any string of zero or more characters.
_   Any single character.
[ ]  Any single character within the specified range ([a-f]) or set ([abcdef]).
[^]   Any single character not within the specified range ([^a-f]) or set ([^abcdef]).