我正在尝试以下,但我不知道为什么我得到不同的结果。
SELECT CHARINDEX(' ', 'FIRSTNAME LASTNAME') -- returns 10 (expected output)
DECLARE @FULLNAME VARCHAR = 'FIRSTNAME LASTNAME'
SELECT CHARINDEX(' ', @FULLNAME) -- returns 0
把VARCHAR
改成VARCHAR(50)
。
当数据定义或变量声明语句中未指定n时,默认长度为1。
'FIRSTNAME '被截断为'F',这就是为什么你得到0。
很确定这是无效的
DECLARE @FULLNAME VARCHAR = 'FIRSTNAME LASTNAME'
试
DECLARE @FULLNAME VARCHAR
SET @FULLNAME = 'FIRSTNAME LASTNAME'