Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用SQL查询检查日期是否可用_Php_Sql - Fatal编程技术网

Php 使用SQL查询检查日期是否可用

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

我需要检查我选择的时间是否空闲。 举个例子,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 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'