我似乎无法在phpMyAdmin中将DATE声明为变量。我似乎总是收到以下错误:
1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在'@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 $$
因为我经历了多次迭代以查找原因。遇到麻烦我不胜感激
答案 0 :(得分:1)
请勿使用@
,所有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 $$