我得到一個語法錯誤與以下SQL PDO語句,你能告訴我錯誤在哪裏嗎? 謝謝!SQL語句和或之間的
SELECT *
FROM events
WHERE
(start_date BETWEEN '2013-01-14' AND '2013-01-20')
OR (start_date NOT < '2013-01-14' and end_date > '2013-01-20')
我得到一個語法錯誤與以下SQL PDO語句,你能告訴我錯誤在哪裏嗎? 謝謝!SQL語句和或之間的
SELECT *
FROM events
WHERE
(start_date BETWEEN '2013-01-14' AND '2013-01-20')
OR (start_date NOT < '2013-01-14' and end_date > '2013-01-20')
你不能把NOT
在表達式的中間,它會表達之前:
NOT start_date < '2013-01-14'
或者使用<
運營商的補碼,即>=
:
start_date >= '2013-01-14'
(在NOT
使用唯一的例外是與IS NULL
運營商,其中兩個NOT x IS NULL
和x IS NOT NULL
作品。)
謝謝。我以前從未使用過NOT表達式,這就是爲什麼我犯了錯誤。現在它可以工作。非常感謝你(ALL)! :) – Sebsemillia
您在第一部分的日期之後錯過了''。
SELECT * FROM events WHERE (start_date BETWEEN '2013-01-14' AND '2013-01-20') OR (start_date NOT < '2013-01-14' and end_date > '2013-01-20')
'start_date NOT <'2013-01-14''也是可疑... –
是的,你是對的。我一定在複製和粘貼過程中丟失了它。對不起,謝謝!我猜你對start_date NOT <'2013-01-14'嫌疑人也是正確的,因爲我仍然在這部分得到錯誤.. – Sebsemillia
你缺少蜱後二零一三年一月二十零日
SELECT * FROM events
WHERE
(start_date BETWEEN '2013-01-14' AND '2013-01-20')
OR (start_date >= '2013-01-14' and end_date > '2013-01-20')
是的,你是對的。我一定在複製和粘貼過程中丟失了它。對不起,謝謝!但我仍然得到錯誤,我想這與「NOT <」有關。 – Sebsemillia
什麼是錯誤的文字?我的第一個猜測是日期格式無效。我的第二個是事件可能是一個保留字,可能需要轉義。但真正的低谷是你在第二次約會之後錯過了一次。 – xQbert
不會start_date> ='2013-01-14'更適合,在之後或? – DigCamara
正如你懷疑的那樣,「NOT <」不是有效的語法。 –