查询类似于
SELECT TOP 10 order_number WHERE order_number LIKE '%input%';
假设输入为5,结果将包括order_number 0500。 假设输入为0500,结果将不包括0500,这将是完全匹配,我在结果中需要它。
有任何解决方法吗?
答案 0 :(得分:0)
DECLARE @Input AS INT
SET @Input = 5
SELECT TOP 10 order_number
FROM Table
WHERE CONVERT(VARCHAR,order_number) LIKE '%' + CONVERT(VARCHAR,@Input) + '%';
或者更好地将输入声明为VARCHAR,以便稍后不进行转换:
DECLARE @Input AS VARCHAR(10)
SET @Input = '5'
SELECT TOP 10 order_number
FROM Table
WHERE CONVERT(VARCHAR,order_number) LIKE '%' + @Input + '%';
答案 1 :(得分:0)
如果值为< 0500'存在于order_number列中,您的WHERE子句如下所示:
WHERE order_number LIKE '%0500%'
然后价值' 0500'将作为一场比赛回来。 LIKE两端的通配符将返回包含通配符之间值的任何内容的true,包括值本身。
通过以下链接,通配符代表"任何0个或更多字符的字符串"