【发布时间】:2020-07-30 21:29:25
【问题描述】:
我有一个名为 Bookings 的表,其中存储了许多汽车预订,其中包含 CarNumber、StartDate、EndDate 列。我需要创建一个用户定义函数来检查汽车是否可用,如果汽车可用,则应返回 1,如果不可用则返回 0。
目前的功能:
CREATE FUNCTION Available(StarDate DATE, EndDate DATE, CarNumber INT)
RETURNS INTEGER NOT DETERMINISTIC
RETURN
我才刚刚开始了解用户定义的函数,所以可以使用一些帮助。
CREATE TABLE Bookings (CarNumber INT, StartDate DATE, EndDate DATE);
INSERT INTO Bookings (CarNumber, StartDate, EndDate)
VALUES (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');
【问题讨论】:
-
暂时忽略该功能,您可以添加用于检查车辆可用性的代码,
-
创建一个返回所需信息的 SELECT 并将其放入用变量替换日期和 ID 号的函数中
-
你明白我们不能在不知道表结构和某些数据的情况下编写这样的查询
-
显然我们可以:-(
标签: mysql database date subquery sql-function