传递给 LEFT 或 SUBSTRING 函数的长度参数无效
我的Sql语句:select left(long,charindex(‘’,Long)-1) from Site 会报错,
错误信息是:传递给 LEFT 或 SUBSTRING 函数的长度参数无效。
如果我把Sql语句这样写加了一个where条件,即:
select left(long,charindex(‘’,Long)-1) from Site where Long is not null
仍然报上面的错误信息:传递给 LEFT 或 SUBSTRING 函数的长度参数无效。
而如果where条件变为:Id=4就不会报错,即:select left(long,charindex(‘’,Long)-1) from Site where id=4
两个问题:
-
CHARINDEX应该用空格而不是空字符串
-
没有判断字段Long中不包含空格的情况
稍微改一下就好了
select left(long,charindex(’ ‘,Long)-1) from Site where charindex(’ ',Long)>0