更新时间:2022-02-12 22:31:38
我不知道您的数据库表,但我想您可以这样:
I don't know your database tables, but I think you could do like this:
从表
中选择*在iniDay> = booking_ini_day AND iniMonth> = booking_ini_month-获得初始期间
和iniDay< = booking_end_day AND iniMonth< = booking_end_month
UNION ALL
从表
中选择* WHERE iniDay< = booking_ini_day AND iniMonth< = booking_ini_month-获取中间期间
AND endDay> = booking_end_day AND endMonth> = booking_end_month
UNION ALL
选择*从表
中
endDay> = booking_ini_day AND endMonth> = booking_ini_month
AND endDay< = booking_end_day AND endMonth< = booking_end_month-获取结束时间
SELECT * from table
WHERE iniDay >= booking_ini_day AND iniMonth >= booking_ini_month -- get initial period
AND iniDay <= booking_end_day AND iniMonth <= booking_end_month
UNION ALL
SELECT * from table
WHERE iniDay <= booking_ini_day AND iniMonth <= booking_ini_month -- get middle periods
AND endDay >= booking_end_day AND endMonth >= booking_end_month
UNION ALL
SELECT * from table
WHERE
endDay >= booking_ini_day AND endMonth >= booking_ini_month
AND endDay <= booking_end_day AND endMonth <= booking_end_month -- get end period
您将复制数据库信息,例如日,月和日月,但这是为了提高性能。
You will "duplicate" database information, like day, month and daymonth, but it's for better performance.