我想从mysql中选择数据,其中数据arr_time> = date(H:i:s)和dep_time <= date(H:i:s),我该怎么做?
因为我试图使用它,所以没有结果。 我的查询是:
SELECT * FROM krl_schedule WHERE arr_time >= '$nowhour' AND dep_time <= '$nowhour' AND sts='Bekasi' AND sts_to!='Bekasi'
我的桌子是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 |
我想如果$nowhour
在arr_time
和dep_time
之间,则结果是ID为2的数据
2 | 100B | Cikarang | Bekasi | Manggarai| 07:10:00 | 07:29:00 |
我的目的是找出这趟火车在07:20:00在 Bekasi 站下车。
答案 0 :(得分:2)
您可以使用BETWEEN
使用以下内容:
SELECT *
FROM krl_schedule
WHERE '$nowhour' BETWEEN arr_time AND dep_time
AND sts = 'Bekasi'
AND sts_to <> 'Bekasi'
...或
SELECT *
FROM krl_schedule
WHERE arr_time <= '$nowhour' AND dep_time >= '$nowhour'
AND sts = 'Bekasi'
AND sts_to <> 'Bekasi'
答案 1 :(得分:1)
您可以使用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'
所以您的最终查询将是这样
SELECT *
FROM
krl_schedule
WHERE '$nowhour' BETWEEN arr_time AND dep_time
AND sts = 'Bekasi'
AND sts_to != 'Bekasi'