提问人:Nate 提问时间:8/1/2018 最后编辑:NisargNate 更新时间:8/1/2018 访问量:177
where 子句要求在 nvarchar 上使用双引号?
where clause requiring double quotes on an nvarchar?
问:
DataImport 表中的所有列均为 。D 列需要双引号。nvarchar(max)
声明:
select cast(i.a as varchar(50)) as address,cast(i.c as varchar(50)) as phone
from dataimport i where i.d="x"
生成两条记录。
声明:
select cast(i.a as varchar(50)) as address,cast(i.c as varchar(50)) as phone
from dataimport i where i.d='x'
不产生任何记录
column definition is d(nvarchar(max),null)
答:
0赞
Marcel Niehüsener
8/1/2018
#1
有没有一个名为 x 的列?
使用双引号,您指定的是列名,而不是列内的数据。
如果语句未使用单引号返回任何数据,则似乎没有在 d 列中包含“x”的记录。
评论
0赞
Nate
8/2/2018
列名是 d,要查找的表(dataimportnew i)中的值是“X”,因此查询显示为“where i.d=”X”。它应该什么都不返回。此后,我将 i.d 添加到结果集中,它得出了“A”。它变得越来越奇怪。
上一个:Perl 包含连续行并忽略双引号
下一个:向文本文件添加双引号
评论