【发布时间】:2018-11-25 02:17:41
【问题描述】:
我有一个包含两个参数的存储过程。前缀 varchar(50) 和后缀 varchar(50)。存储过程选择一些带有 where 子句的行。现在的问题是,如果变量中有通配符,我会出错。如何忽略也可能是通配符的可变字符?
例子:
假设我有两行:
1 . myColumn : 'ABCTTAX'
2. myColumn: 'ABCTT_X'
declare @Prefix varchar(50)
declare @Suffix varchar(50)
set @Prefix = 'ABC';
set @Suffix = '_X';
Select * from myTable where @Suffix IS NOT NULL AND myColumn like @Prefix + '__' + @Suffix
在上面的示例中,两行都将匹配。但我只想匹配第二个。
【问题讨论】:
-
set @Suffix = '[_]X';
标签: sql sql-server wildcard