CHARINDEX总是返回零

时间:2019-06-30 17:13:58

标签: sql sql-server

我卡住了还是这是个错误之类的东西?

declare @text nvarchar = 'ThisTextContainsPandOtherCharacters'
select  charindex(N'P',@text)

总是零吗?

4 个答案:

答案 0 :(得分:5)

您尚未声明字符串的长度,因此默认值为1。

declare @text nvarchar(100) = 'ThisTextContainsPandOtherCharacters';

select  charindex(N'P',@text)

答案 1 :(得分:1)

为变量指定以下长度-

declare @text nvarchar(200) = 'ThisTextContainsPandOtherCharacters'
select  charindex(N'P',@text)

答案 2 :(得分:0)

在变量中使用大小

declare @text nvarchar(500) = 'ThisTextContainsPandOtherCharacters'
select  charindex('P',@text)

答案 3 :(得分:0)

您应该声明字符串的长度。 请尝试这个

DECLARE @text nvarchar(300) = 'ThisTextContainsPandOtherCharacters';

SELECT CHARINDEX(N'P',@text)