這是我的 SQL 查詢:
SELECT DISTINCT Booked_From, Booked_To FROM bookings
WHERE CONVERT(DATETIME,Booked_From,101) AND CONVERT(DATETIME,Booked_To,101)
AND Hallname ='Executive Hall'
AND Booked_From >= '11/26/2021'
AND Booked_To <= '12/16/2021'
AND Bin='false'
ORDER BY str_to_date(Booked_From,'%m/%d/%Y') ASC
這是產生的錯誤: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Booked_From,101) AND CONVERT(DATETIME,Booked_To,101) AND Hallname ='Executive...' at line 1
Booked_From 和 Booked_To 是 VARCHAR
謝謝
uj5u.com熱心網友回復:
首先,您應該始終以 MySQL yyyy-mm-dd 的正常格式在 MySQL 中保存日期。因為每次轉換都需要時間
所以在 Mysql 中,您的查詢將是
SELECT DISTINCT Booked_From, Booked_To FROM bookings
WHERE
Hallname ='Executive Hall'
AND str_to_date(Booked_From,'%m/%d/%Y') >= str_to_date('11/26/2021','%m/%d/%Y')
AND str_to_date(Booked_To,'%m/%d/%Y') <= str_to_date('12/16/2021','%m/%d/%Y')
AND Bin='false'
ORDER BY str_to_date(Booked_From,'%m/%d/%Y') ASC;
但最好以 MySQL 風格比較日期
SELECT DISTINCT Booked_From, Booked_To FROM bookings
WHERE
Hallname ='Executive Hall'
AND str_to_date(Booked_From,'%m/%d/%Y') >= '2021-11-26'
AND str_to_date(Booked_To,'%m/%d/%Y') <= '2021-12-16'
AND Bin='false'
ORDER BY str_to_date(Booked_From,'%m/%d/%Y') ASC
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/351100.html
標籤:mysql phpmyadmin
上一篇:對內部聯接中的每一行進行計數
