-1

我试图在我的 sql 数据库上进行选择,当每个元素在代码上检查时,查询在 WHERE 子句中接收到一个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):(

4

1 回答 1

0

这是对数据库限制问题的一般回答。是的,他们有限制。它们因 RDBMS 而异,但这些是我多年来偶然发现的。

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

    myfield 在哪里(1、2、3 等)

使用 oracle 10,限制为 1000。使用 sql server,限制在 2500 左右。

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

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

于 2013-04-02T14:01:43.630 回答