带有声明变量的 SQL Server charindex

Tim*_*çin 2 sql-server variables char

我对 SQL SERVER 功能有一个简单的问题charindex

DECLARE @VAR1 varchar
SET @VAR1 = 'abcdef'
PRINT CHARINDEX('c', @VAR1)
Run Code Online (Sandbox Code Playgroud)

上面的语句应该打印3但打印0。为什么?

aF.*_*aF. 5

当数据定义或变量声明语句中未指定n(长度)时,默认长度为1。


这样做你的问题就解决了:

DECLARE @VAR1 varchar(10)
SET @VAR1 = 'abcdef'
PRINT CHARINDEX('c', @VAR1)
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请查看