Mysql
 sql >> база данни >  >> RDS >> Mysql

Изберете записи по време в интервал между 12:00:00 и 18:00:00 всеки ден

Тук имате два проблема:

  1. Не можете да препращате към псевдоними на колони в клаузата where. Вместо това трябва да повторите изчислението си в клаузата where
  2. Използвайте TIME() функция за извличане на частта от времето на datatime

С тези два проблема вие получавате:

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'

Като опция, ако всъщност не се нуждаете от стойността на времето в избора, можете да я премахнете и просто да я поставите в клаузата where. Също така можете да използвате HOUR() функция, ако това подхожда по-добре. С тези две промени, вашата заявка ще се опрости до:

select *
FROM vbsk_dk_02.fab_master_flyvedata
where HOUR(f.start_tid) between 12 and 18

което е много по-подредено :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL сървърът изчезна - точно за 60 секунди

  2. Защо максималното време на MySQL е 838:59:59?

  3. alter table add external key е неуспешен

  4. SQL заявката работи в конзолата, но не и в python

  5. Как да добавя скрипт за стартиране към контейнер за докер на mysql?