table
productName description
+++++++++++++++++++++++++
OpenIDM Platform for building enterprise provisioning solutions
OpenDM Full-featured access management
OpenDJ Robust LDAP server for Java
在上表中,当我在查询下方运行时,我按预期获得前两条记录
DECLARE @searchInput varchar
SET @searchInput = 'dm'
SELECT * FROM ForgeRock
WHERE productName like '%DM%'
结果
用于构建企业供应解决方案的 OpenIDM 平台
OpenDM 全功能访问管理
但是当我运行下面的查询时,模式匹配似乎无法正常工作,我得到了所有记录。
DECLARE @searchInput varchar
SET @searchInput = 'dm'
SELECT * FROM ForgeRock
WHERE productName like '%'+@searchInput+'%'
http://sqlfiddle.com/#!18/6e9af/8
最佳答案
您没有声明 varchar 字符串的大小。默认为 1。做一个 SELECT
在 @searchInput
亲眼看看
DECLARE @searchInput varchar
SET @searchInput = 'dm'
SELECT @searchInput
关于sql-server - 在 SET 中使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52440232/