简体   繁体   English

如何在时间到达和离开列之间选择数据?

[英]How to select data between time arrival and departure column?

I want to select data from mysql where data arr_time >= date(H:i:s) and dep_time <= date(H:i:s), how can I do this?我想从 mysql 中选择数据,其中数据 arr_time >= date(H:i:s) 和 dep_time <= date(H:i:s),我该怎么做?

because I have trying to use this, and there's no result.因为我一直在尝试使用它,但没有结果。 my query is:我的查询是:

SELECT * FROM krl_schedule WHERE arr_time >= '$nowhour' AND dep_time <= '$nowhour' AND sts='Bekasi' AND sts_to!='Bekasi'

My table is krl_schedule我的表是 krl_schedule

=======================================================================================
id  |   train_no  |  sts_from  |    sts    |  sts_to   |   arr_time   |    dep_time   |
=======================================================================================
1   |   100A      |  Cikarang  |  Cibitung |  Gambir   |   06:20:00   |   06:31:00    |
2   |   100B      |  Cikarang  |  Bekasi   |  Manggarai|   07:10:00   |   07:29:00    |
3   |   200A      |  Cikarang  |  Tambun   |  Bekasi   |   07:20:00   |   07:32:00    |
4   |   200B      |  Cikarang  |  Bekasi   |  Kota     |   08:20:00   |   08:31:00    |

And I want the result is the data with id 2 if $nowhour is between the arr_time and dep_time如果$nowhourarr_timedep_time之间,我希望结果是 id 为 2 的数据

2   |   100B      |  Cikarang  |  Bekasi   |  Manggarai|   07:10:00   |   07:29:00    |

my purpose is, to find out this train stops at Bekasi station in 07:20:00.我的目的是找出这列火车在07:20:00停靠勿加泗站。

You can use the following using BETWEEN :您可以使用BETWEEN使用以下内容:

SELECT * 
FROM krl_schedule 
WHERE '$nowhour' BETWEEN arr_time AND dep_time 
  AND sts = 'Bekasi' 
  AND sts_to <> 'Bekasi'

... or ... 要么

SELECT * 
FROM krl_schedule 
WHERE arr_time <= '$nowhour' AND dep_time >= '$nowhour'
  AND sts = 'Bekasi' 
  AND sts_to <> 'Bekasi'

demo on dbfiddle.uk dbfiddle.uk 上的演示

You can use this code using BETWEEN function where 07:20:00 is your $nowhour您可以使用 BETWEEN 函数使用此代码,其中 07:20:00 是您的 $nowhour

SELECT * 
FROM 
 krl_schedule 
WHERE '07:20:00' BETWEEN arr_time AND dep_time 
AND sts = 'Bekasi' 
AND sts_to != 'Bekasi' 

so your final query will be like this所以你的最终查询将是这样的

SELECT * 
FROM 
 krl_schedule 
WHERE '$nowhour' BETWEEN arr_time AND dep_time 
AND sts = 'Bekasi' 
AND sts_to != 'Bekasi'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM