代码之家  ›  专栏  ›  技术社区  ›  Ali Sheikhpour

SQL charindex返回0

  •  1
  • Ali Sheikhpour  · 技术社区  · 6 年前

    我在使用中感到困惑 查林德斯 SQL server中的运算符。当我连接 汽车 带逗号的字段得到所需的输出,但当我再次检查结果中的索引12时,得到0。野战车是 INT 我也检查了12个没有单一报价的项目。

    select concat(',',car,',') as car from drivers where id=38
    

    输出: ,12,

    select CHARINDEX(concat(',',car,','),'12') as carindex from drivers where id=38
    

    0

    2 回复  |  直到 6 年前
        1
  •  2
  •   Arulkumar KP.    6 年前

    最后一个参数是 start_location ,您可能没有字符长度。

    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )  
    

    https://docs.microsoft.com/en-us/sql/t-sql/functions/charindex-transact-sql?view=sql-server-2017

        2
  •  2
  •   StepUp    6 年前

    您应该首先放置一个要查找的表达式:

    select CHARINDEX('12', CONCAT(',', @car,','), 0)
    

    As MSDN says :

    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) 
    
    推荐文章