ePHP,MSSQL BETWEEN DATE函数和" OR语句"

时间:2014-05-31 03:31:31

标签: php mysql sql sql-server

我正在用MSSQL和MySQL编写PHP脚本。 MSSQL是连接到我无法控制的数据库,而我控制的MySQL数据库。

尝试从MSSQL数据库中检索数据时,我遇到了SQL语句的问题。

以下是我的SQL语句:

$SQL = "SELECT * FROM ScheduledCall WHERE StartTime BETWEEN '05-30-2014' 
        AND '06-09-2014' AND Title LIKE ('%Me%') OR Title LIKE ('%You%')";

我遇到的问题是使用上面的语句是BETWEEN函数不再有效。在SQL语句中我有" BETWEEN' 05-30-2014' AND' 06-09-2014'"所以在理论上它应该只显示30日之后的所有内容(无数据),而是显示:

enter image description here

现在,经过几个小时的SQL语句,我意识到如果我删除" OR Title LIKE('%You%')它可以正常工作。如何修复上面的SQL语句以允许后面的所有OR语句?我需要至少20个OR TITLE LIKE语句。

1 个答案:

答案 0 :(得分:1)

这是您的查询:

SELECT *
FROM ScheduledCall
WHERE StartTime BETWEEN '05-30-2014' AND '06-09-2014' AND
      Title LIKE ('%Me%') OR Title LIKE ('%You%');

两件事。更重要的是使用括号来获得所需的逻辑。第二种是将字符串放在YYYY-MM-DD格式(ISO标准)中。所以试试这个:

SELECT *
FROM ScheduledCall
WHERE StartTime BETWEEN '2014-05-30' AND '2014-06-09' AND
      (Title LIKE '%Me%' OR Title LIKE '%You%');