Mysql 创建一个用户定义的函数来检查两个日期之间是否有可用的汽车?
我有一个名为Bookings的表,许多汽车预订都存储在CarNumber、StartDate、EndDate列中。我需要创建一个用户定义的函数来检查汽车是否可用,如果汽车可用,它应该返回1,如果不返回0 迄今为止的职能: 创建函数可用开始日期、结束日期、卡号整数 返回不确定的整数 返回 我刚刚开始学习用户定义函数,因此需要一些帮助 创建表格预订卡号INT、开始日期、结束日期 插入预订卡号、开始日期、结束日期 值6,‘2018-01-02’、‘2018-01-15’, 1, '2018-01-03', '2018-01-05', 3, '2018-01-03', '2018-01-04', 8, '2018-01-04', '2018-01-30', 10, '2018-01-10', '2018-01-13'; 您可以使用exists子查询来检查给定的日期范围是否与给定汽车的任何预订日期范围重叠 考虑以下语法:Mysql 创建一个用户定义的函数来检查两个日期之间是否有可用的汽车?,mysql,database,date,subquery,sql-function,Mysql,Database,Date,Subquery,Sql Function,我有一个名为Bookings的表,许多汽车预订都存储在CarNumber、StartDate、EndDate列中。我需要创建一个用户定义的函数来检查汽车是否可用,如果汽车可用,它应该返回1,如果不返回0 迄今为止的职能: 创建函数可用开始日期、结束日期、卡号整数 返回不确定的整数 返回 我刚刚开始学习用户定义函数,因此需要一些帮助 创建表格预订卡号INT、开始日期、结束日期 插入预订卡号、开始日期、结束日期 值6,‘2018-01-02’、‘2018-01-15’, 1, '2018-01-03
delimiter //
create function availability(
pStartDate datetime,
pEndDate datetime,
pCarNumber int
)
returns bool deterministic
begin
declare res bool;
select not exists(
select 1
from bookings
where startDate < pEndDate and endDate > pStartDate and carNumber = pCarNumber
) into res;
return res;
end;
//
目前忽略该功能,是否可以添加用于检查车辆可用性的代码,选择返回所需信息的选项,并将其放入函数中,在该函数中用变量替换日期和id号。您知道,如果不了解表结构,我们无法编写此类查询,并且在某些数据中,显然我们可以:-