Sql 使用nvarchar列的where子句从表中选择多个条目
我有一个表,它有一个Sql 使用nvarchar列的where子句从表中选择多个条目,sql,Sql,我有一个表,它有一个nvarchar列;我需要用where子句搜索多个条目 我可以一次搜索一个实体,就像checknumber是1906572一样,但我需要检索多个实体的数据,像“checknumber(nvarchar)位于以下任一位置:663096、663105、663107、663109、663110,因为逐个搜索非常耗时 当我在下面搜索时: 选择发票、凭证、从银行明细中获取结果的银行明细的日期,其中N“%654217”等复选号码正在获得结果,但当m PUT where checknumb
nvarchar
列;我需要用where
子句搜索多个条目
我可以一次搜索一个实体,就像checknumber是1906572一样,但我需要检索多个实体的数据,像“checknumber(nvarchar
)位于以下任一位置:663096、663105、663107、663109、663110,因为逐个搜索非常耗时
当我在下面搜索时:
选择发票、凭证、从银行明细中获取结果的银行明细的日期,其中N“%654217”等复选号码正在获得结果,但当m PUT where checknumber=N'654217'或其中checknumber='654217'未获得任何输出时
我不能一个接一个地导出数据,我有大约2000个支票号码
请注意,数据类型为
NVARCHAR
,其中(“”,)中的实体将无法与NVARCHAR
一起工作,未经测试请勿发布答案,谢谢您在sqlwhere
子句中使用实体=1906572
使用中的实体(663096、663105、663107、663109、663110)
小心不要混淆数据类型。因此,请确保包含单引号,因为比较值应为字符串:
checknumber = '1906572'
checknumber in ('663096', '663105', '663107', '663109', '663110')
混合数据类型会使优化器更难选择最佳执行计划。尝试以下方法:
select *
from [TableName]
where checknumber in ('663096', '663105', '663107', '663109', '663110')
发布当前查询…和DDL。当数据类型为NVARCHAR时,('663096','663105')中的实体将不与NVARCHAR一起工作-您所说的
将不工作是什么意思
-它会为您抛出一个错误还是什么?