使用变量时,SQL喜欢不同的输出
您好,今天我练习了SQL语句。当我试图从数据库中选择%like%时,当我使用变量和不使用变量时,它输出了不同的值 见下文 考虑简单的表称为帖子每个帖子都有内容和标题 现在,当我尝试使用使用变量时,SQL喜欢不同的输出,sql,sql-server,select,Sql,Sql Server,Select,您好,今天我练习了SQL语句。当我试图从数据库中选择%like%时,当我使用变量和不使用变量时,它输出了不同的值 见下文 考虑简单的表称为帖子每个帖子都有内容和标题 现在,当我尝试使用 SELECT * FROM Posts WHERE Headline like '%'+'fun'+'%' OR Content like '%'+'fun'+'%' 我得到以下输出: 但是,如果我尝试在搜索中选择using variable作为: DECLARE @test NVARCHAR = 'fun'
SELECT *
FROM Posts
WHERE Headline like '%'+'fun'+'%' OR Content like '%'+'fun'+'%'
我得到以下输出:
但是,如果我尝试在搜索中选择using variable作为:
DECLARE @test NVARCHAR = 'fun'
SELECT * FROM Posts
WHERE Headline like '%'+@test+'%' OR Content like '%'+@test+'%'
我得到这个输出:
所以我想知道,当理论上它必须有相同的输出时,这个变量为什么会改变结果?这是您的声明:
DECLARE @test NVARCHAR = 'fun'
之后,@test的值为“f”。为什么?它只有一个字符
在SQL Server中使用字符串声明时始终输入长度:
DECLARE @test NVARCHAR(255) = 'fun'
这是你的声明:
DECLARE @test NVARCHAR = 'fun'
之后,@test的值为“f”。为什么?它只有一个字符
在SQL Server中使用字符串声明时始终输入长度:
DECLARE @test NVARCHAR(255) = 'fun'
这是一篇关于这个话题的好文章。这是一篇关于这个话题的好文章。