我正在尝试以下方法,但我不知道为什么我得到不同的结果。
SELECT CHARINDEX(' ', 'FIRSTNAME LASTNAME') -- returns 10 (expected output)
DECLARE @FULLNAME VARCHAR = 'FIRSTNAME LASTNAME'
SELECT CHARINDEX(' ', @FULLNAME) -- returns 0
只需修改VARCHAR
TO即可VARCHAR(50)
。
从MSDN
如果在数据定义或变量声明语句中未指定n,则默认长度为1。
“ FIRSTNAME LASTNAME”被截断为“ F”,这就是为什么您得到0的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句