急急急,sql in语句后面值太多,sql运行报错(50分)

  • 主题发起人 主题发起人 andrew4031
  • 开始时间 开始时间
A

andrew4031

Unregistered / Unconfirmed
GUEST, unregistred user!
select * from card where cardid in('11','22','33'.....后面还有几千个)
报错不允许从text到nvarchar的隐形转换
急急急急急急!救命啊!
 
显然是你的数据类型有错,应该不是数据多的原因吧。
 
Sql字符串长度有限制,好像超过4000 就不行了吧。反正是因为Sql太长了
 
用select * from card where ((cardid='11' ) or (cardid='22' ) or (cardid='33' ))吧
 
不过要注意换行,如果一行太多,也会报错的.
 
几K个当然应该放在一个临时表之类的当中啊
 
lps说得对,可以用存储过程,建个临时表,把需要查询的cardid的值插进去,然后用连接查询。
 
后退
顶部