从字符串变量(TSQL)中查找字符索引

时间:2014-06-06 03:00:54

标签: tsql

我正在尝试以下但我不知道为什么我会得到不同的结果。

SELECT CHARINDEX(' ', 'FIRSTNAME LASTNAME') -- returns 10 (expected output)

DECLARE @FULLNAME VARCHAR = 'FIRSTNAME LASTNAME'
SELECT CHARINDEX(' ', @FULLNAME) -- returns 0 

2 个答案:

答案 0 :(得分:1)

只需将VARCHAR修改为VARCHAR(50)

FROM MSDN

  

如果未在数据定义或变量声明语句中指定n,则默认长度为1.

' FIRSTNAME LASTNAME'被截断为' F'这就是为什么你得到0。

答案 1 :(得分:0)

很确定这是无效的

DECLARE @FULLNAME VARCHAR = 'FIRSTNAME LASTNAME'

DECLARE @FULLNAME VARCHAR
SET @FULLNAME = 'FIRSTNAME LASTNAME'