Php 如何在mysql中使用exclusivebetween子句?

Php 如何在mysql中使用exclusivebetween子句?,php,mysql,between,Php,Mysql,Between,我有一个php变量。我想检查它是否位于mysql表任何一行的两列值之间。但我不希望将该变量与表的精确值匹配。i、 e,在条款之间的排他性。如果有人知道答案,请举例说明。非常感谢。这是我的密码 $var = '15:00:00'; //Mysql Table (datatype of columns are TIME) first last row1 13:00:00 15:00:00 row2 17:00:00 1

我有一个php变量。我想检查它是否位于mysql表任何一行的两列值之间。但我不希望将该变量与表的精确值匹配。i、 e,在条款之间的排他性。如果有人知道答案,请举例说明。非常感谢。这是我的密码

$var = '15:00:00';


//Mysql Table (datatype of columns are TIME)

          first         last
row1      13:00:00      15:00:00
row2      17:00:00      19:00:00

您可以使用
between
子句执行此操作

  SELECT `column1`,`column1`,`column1` 
   FROM table_name 
   WHERE $var > `first` AND $var < `second`
选择'column1','column1','column1'
从表\u名称
其中$var>`first`和$var<`second`

只有当值位于第一个和第二个的中间时,这样的操作才会起作用。您可以使用
between
子句

  SELECT `column1`,`column1`,`column1` 
   FROM table_name 
   WHERE $var > `first` AND $var < `second`
选择'column1','column1','column1'
从表\u名称
其中$var>`first`和$var<`second`
只有当值位于第一个和第二个值的中间时,这种方法才会起作用。MySQL中没有“exclusivebetween”操作符

表达方式:

  a BETWEEN b AND c
实际上只是简写,相当于:

  ( a >= b AND a <= c )
我个人认为,如果避免在之间使用
,SQL更容易理解


有几个查询可以检查给定值是否与表中的一行或多行“匹配”。例如:

  SELECT 1 AS `matched`
    FROM mytable t
   WHERE t.first < ?
     AND t.last  > ? 
    LIMIT 1
选择1作为“匹配”`
来自MyT表
t.first在哪里?
和t.last>?
限制1
如果有匹配的行,此查询将返回一行,如果没有匹配的行,则返回一个空集。

MySQL中没有“exclusivebetween”操作符

表达方式:

  a BETWEEN b AND c
实际上只是简写,相当于:

  ( a >= b AND a <= c )
我个人认为,如果避免在
之间使用
,SQL更容易理解


有几个查询可以检查给定值是否与表中的一行或多行“匹配”。例如:

  SELECT 1 AS `matched`
    FROM mytable t
   WHERE t.first < ?
     AND t.last  > ? 
    LIMIT 1
选择1作为“匹配”`
来自MyT表
t.first在哪里?
和t.last>?
限制1

如果有匹配的行,此查询将返回一行,如果没有匹配的行,则返回一个空集。

实际上,您可以在查询中使用表达式

SELECT *
FROM `table_name`
where $var between `first` + INTERVAL 1 second AND `last` - INTERVAL 1 second

您可以选择所需的任何时间间隔。这甚至适用于准备好的语句。

实际上,您可以在查询中使用表达式

SELECT *
FROM `table_name`
where $var between `first` + INTERVAL 1 second AND `last` - INTERVAL 1 second
您可以选择所需的任何时间间隔。这甚至适用于准备好的语句。

为什么不能使用
?为什么不能使用