我在使用以下 SQL 查询时遇到问题;
SELECT *
FROM Table
WHERE ID='510' AND CHARINDEX(requires,'Absolute Position Anchor') > 0
我使用这段代码已经有一段时间了,但今天它突然开始返回要求列仅包含“位置锚点”的行。我的查询一直都是错误的,还是我的 MS SQL 服务器设置发生了变化?
我在使用以下 SQL 查询时遇到问题;
SELECT *
FROM Table
WHERE ID='510' AND CHARINDEX(requires,'Absolute Position Anchor') > 0
我使用这段代码已经有一段时间了,但今天它突然开始返回要求列仅包含“位置锚点”的行。我的查询一直都是错误的,还是我的 MS SQL 服务器设置发生了变化?
你已经翻转了语法:
CHARINDEX('string to find','string to look in')
改成:
SELECT *
FROM Table
WHERE ID='510' AND CHARINDEX('Absolute Position Anchor',requires) > 0
或者使用 LIKE,正如 Gordon Linoff 建议的那样:
SELECT *
FROM Table
WHERE ID='510' AND requires LIKE '%Absolute Position Anchor%'