Php 使用SQL查询检查日期是否可用
我需要检查我选择的时间是否空闲。 举个例子,17:00-17:06之间的时间,我试着用17:01-17:07之间的时间 什么是正确的SQL查询来检查时间是空闲的还是占用的?因为在这种情况下需要17:01,17:02,17:03次 在数据库中,我有两个字段Php 使用SQL查询检查日期是否可用,php,sql,Php,Sql,我需要检查我选择的时间是否空闲。 举个例子,17:00-17:06之间的时间,我试着用17:01-17:07之间的时间 什么是正确的SQL查询来检查时间是空闲的还是占用的?因为在这种情况下需要17:01,17:02,17:03次 在数据库中,我有两个字段laikas,表示所用时间的开始(17:00),和laikas\u end表示所用时间的结束(17:07) 据我所知,这些问题: 检查我所用的时间是否在所用时间之间 $uzimtumas_laiko = "SELECT * FROM reklam
laikas
,表示所用时间的开始(17:00),和laikas\u end
表示所用时间的结束(17:07)
据我所知,这些问题:
检查我所用的时间是否在所用时间之间
$uzimtumas_laiko = "SELECT * FROM reklamos WHERE `laikas` >= '$laikas' AND `laikas_end` <= '$laikas_end'";
情况可能是,我试图在16:49-17:02之间抽出时间,但17:00-17:06被占用。所以17:50-17:02不能被选择。我相信我需要一些介于两者之间的东西,但我想不出任何东西。也许这对你有帮助
"SELECT count(*) as COUNT FROM leave where ((start_date >= to_date(:start_date) and start_date <= to_date(:end_date)) OR (to_date(:start_date) >= start_date and to_date(:start_date) <= end_date)) "
“选择count(*)作为休假计数,其中((开始日期>=截止日期(:开始日期)和开始日期=开始日期和截止日期(:开始日期)如果您的开始时间或结束时间在所选范围内,则无法选择:
$uzimtumas_laiko = "SELECT * FROM reklamos WHERE (`laikas` BETWEEN '$laikas' AND '$laikas_end') OR (`laikas_end` BETWEEN '$laikas' AND '$laikas_end') OR (`laikas` >= '$laikas' AND `laikas` <= '$laikas_end' ) OR (`laikas_end` >= '$laikas' AND `laikas_end` <= '$laikas_end' )";
$uzimtumas_laiko=“SELECT*FROM reklamos WHERE(`laikas`介于'$laikas'和'$laikas_end')或(`laikas_end`介于'$laikas'和'$laikas_end')或(`laikas`>='$laikas'和'laikas`='$laikas'和'laikas_end`我相信以下是一种更有效的方式来满足您的需求:
SELECT *
FROM reklamos
WHERE
liakas <= '$liakas_end' AND
liakas_end >= '$liakas'
选择*
来自雷克拉莫斯
哪里
利亚卡斯=“$利亚卡斯”
我认为这是在检查时间段之间的“重叠”。试试看如果我尝试添加16:49-17:02,这一个有效,但是如果我尝试添加17:01-17:07时的17:02-17:03,它不起作用
SELECT *
FROM reklamos
WHERE
liakas <= '$liakas_end' AND
liakas_end >= '$liakas'