Du har to problemer her:
- Du kan ikke henvise til kolonnealiasser i where-sætningen. I stedet skal du gentage din beregning i where-klausulen
- Brug
TIME()
funktion til at udtrække tidsdelen af datatiden
Med disse to problemer behandlet får du:
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'
Som en mulighed, hvis du faktisk ikke har brug for tidsværdien i select, kan du fjerne den og bare have den i where-klausulen. Du kan også bruge HOUR()
funktion, hvis det passer bedre. Med disse to ændringer vil din forespørgsel forenkles til:
select *
FROM vbsk_dk_02.fab_master_flyvedata
where HOUR(f.start_tid) between 12 and 18
hvilket er meget pænere :)