我的表格有nvarchar
列;我需要使用where
子句搜索多个条目。
我可以一次搜索一个实体,就像checknumber是1906572一样,但我需要为多个实体检索数据&#strong; 喜欢' checknumber(nvarchar
)在以下任何一个中都是:663096,663105,663107,663109,663110因为逐个搜索非常耗时。
当我在下面搜索时: 从银行详细信息中选择发票,凭证,日期,其中包括N'%654217'得到结果但是当我把它放在checknumber = N' 654217'或者checknumber =' 654217'我没有得到任何输出。
我无法逐个导出数据,我有2000左右的检查数。
请注意,数据类型为NVARCHAR
,其中('''')中的实体将无法与Nvarchar
一起使用,没有测试就发布答案,谢谢
答案 0 :(得分:2)
在你的sql where
子句中,而不是使用entity = 1906572
使用entity in (663096, 663105, 663107, 663109, 663110)
答案 1 :(得分:1)
小心不要混合数据类型。因此,请务必包含单引号,因为比较值应为字符串:
checknumber = '1906572'
checknumber in ('663096', '663105', '663107', '663109', '663110')
混合数据类型使优化器更难选择最佳执行计划。
答案 2 :(得分:0)
试试这个:
select *
from [TableName]
where checknumber in ('663096', '663105', '663107', '663109', '663110')