Charindex没有返回正确值

炎炎 80 信誉分
2024-07-31T02:16:16.7633333+00:00

这是我的查询语句:

select * 
from TableSet
where CHARINDEX(col2,'bad') > 0

结果并没有返回任何值,但是我确认过col2列中确实有包含‘bad’的数据存在,是出现bug了吗?

SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
181 个问题
Transact-SQL
Transact-SQL
ANSI SQL 语言的 Microsoft 扩展,包括过程编程、局部变量和各种支持函数。
23 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. LiHongMSFT-4306 29,591 信誉分
    2024-07-31T02:31:15.81+00:00

    不是bug,是你的语法错了。

    --syntax
    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
    

    函数中的第一个是你的查找值,第二个才是你需要进行检索的对象(列/字符串)。

    也就是说,你把它俩弄反了,正确的写法应该是:

    where CHARINDEX('bad',col2) > 0
    

    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。


0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。