Anda memiliki dua masalah di sini:
- Anda tidak dapat merujuk ke alias kolom dalam klausa where. Sebagai gantinya, Anda harus mengulangi perhitungan Anda di klausa where
- Gunakan
TIME()
berfungsi untuk mengekstrak bagian waktu dari datatime
Dengan mengatasi dua masalah tersebut, Anda mendapatkan:
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'
Sebagai opsi, jika Anda tidak benar-benar membutuhkan nilai waktu dalam pilihan, Anda dapat menghapusnya dan memasukkannya ke dalam klausa where. Selain itu, Anda dapat menggunakan HOUR()
berfungsi jika itu lebih cocok. Dengan dua perubahan tersebut, kueri Anda akan disederhanakan menjadi:
select *
FROM vbsk_dk_02.fab_master_flyvedata
where HOUR(f.start_tid) between 12 and 18
yang jauh lebih rapi :)