我似乎无法在 phpMyAdmin 中将日期声明为变量。我似乎总是收到以下错误:
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 '@check_in date = '2019-12-11', @check_out = '2019-12-17';
我的查询语法已更改为:
Declare @checkIn date = '2019-12-11'
, @checkOut date = '2019-12-17'
select *
from CURRENT_BOOKINGS
where booked_from not between @checkIn and @checkOut
and booked_to not between @checkIn and @checkOut'
致...
DELIMITER $$
CREATE PROCEDURE roomAvailable()
BEGIN
DECLARE @check_in DATE;
SET @check_in = '2019-12-11';
DECLARE @check_out DATE
SET @check_in = '2019-12-17'
SELECT * FROM CURRENT_BOOKINGS
WHERE booked_from NOT BETWEEN @check_in AND @check_out
AND booked_to NOT BETWEEN @check_in AND @check_out
END $$
因为我已经经历了多次迭代试图找到原因。任何帮助表示感谢,因为我很困惑
最佳答案
不要使用@
并且所有declare
必须位于开头
DELIMITER $$
CREATE PROCEDURE roomAvailable()
BEGIN
DECLARE check_in DATE;
DECLARE check_out DATE;
SET check_in = '2019-12-11';
SET check_out = '2019-12-17';
SELECT * FROM CURRENT_BOOKINGS
WHERE booked_from NOT BETWEEN check_in AND check_out
AND booked_to NOT BETWEEN check_in AND check_out;
END $$
See the different types of MySQL variables
关于mysql - PHPMyAdmin 声明日期变量时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59193433/