Je hebt hier twee problemen:
- Je kunt niet verwijzen naar kolomaliassen in de where-component. In plaats daarvan moet u uw berekening herhalen in de waar-clausule
- Gebruik de
TIME()
functie om het tijdgedeelte van de datatijd te extraheren
Als deze twee problemen zijn opgelost, krijgt u:
select
f.fly_reg,
TIME(f.start_tid) AS st,
f.start_hight
FROM vbsk_dk_02.fab_master_flyvedata f
where TIME(f.start_tid) between '12:00:00' AND '18:00:00'
Als een optie, als u de tijdwaarde in de select niet echt nodig hebt, kunt u deze verwijderen en gewoon in de waar-clausule plaatsen. U kunt ook de HOUR()
. gebruiken functioneren als dat beter uitkomt. Met deze twee wijzigingen in, zou uw zoekopdracht vereenvoudigen tot:
select *
FROM vbsk_dk_02.fab_master_flyvedata
where HOUR(f.start_tid) between 12 and 18
dat is een stuk netter :)