SQL 字符索引 returns 0
SQL charindex returns 0
我对在 SQL 服务器中使用 charindex 运算符感到困惑。当我用逗号连接 car 字段时,我得到了所需的输出,但是当我再次检查结果中的索引 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
最后一个参数是start_location
,你可能没有字符长度。
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
参考:https://docs.microsoft.com/en-us/sql/t-sql/functions/charindex-transact-sql?view=sql-server-2017
你应该把一个表达式放在第一位:
select CHARINDEX('12', CONCAT(',', @car,','), 0)
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
我对在 SQL 服务器中使用 charindex 运算符感到困惑。当我用逗号连接 car 字段时,我得到了所需的输出,但是当我再次检查结果中的索引 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
最后一个参数是start_location
,你可能没有字符长度。
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
参考:https://docs.microsoft.com/en-us/sql/t-sql/functions/charindex-transact-sql?view=sql-server-2017
你应该把一个表达式放在第一位:
select CHARINDEX('12', CONCAT(',', @car,','), 0)
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )