SQL有查询大小限制吗?

时间:2013-04-02 12:50:50

标签: mysql sql

我试图在我的sql数据库上进行选择,当在代码中检查每个元素时,查询在WHERE clausure中再接收OR name LIKE expression并且它可以工作,但是当我尝试选择超过23个元素时有效,任何人都知道sql是否有查询的限制大小或其他什么?

查询如下所示: SELECT * FROM mytable WHERE name LIKE x% OR name LIKE y% OR name LIKE ...(23X)

我无法将其更改为WHERE name IN (x,y,z) :(

1 个答案:

答案 0 :(得分:0)

这是数据库限制问题的一般答案。是的他们有限制。它们随着RDBMS而变化,但这些是我多年来偶然发现的。

  1. 列表只能包含x个元素。它适用于这种语法。

    myfield in(1,2,3等)

  2. 使用oracle 10,限制为1000.使用sql server,它大概是2500左右。

    1. 查询本身只能有这么多字符。这是你原来的问题,虽然看起来这不是你的具体问题,但我已经看到它发生在sql server上。

    2. 查询只接受x参数。我用ColdFusion / SQL Server超过了这个,但我不记得限制是什么。