sql >> Databasteknik >  >> RDS >> Mysql

kontrollera om tiden (med tidszon) ligger inom ett givet tidsintervall

Du skulle förmodligen vilja lagra tiderna som UTC i databasen, detta skulle göra frågor som denna mycket mer logiska och lätta att förstå. När du hämtar tiderna från DB:n kan du också dra timeozne och göra eventuell konvertering nödvändig vid den tidpunkten.

Som det är kan du fråga efter alla värden mellan

$checkup_time_min +- (time conversion for given timezone) och

$checkup_time_max -+ (time conversion for given timezone)

men du skulle behöva köra en annan fråga för varje tidszon. Alternativt kan du göra en massa if-satser som kontrollerar tidszonen, men det är inte mycket renare.



  1. Saknar mysql.sock; ger OperationalError:(2002, Kan inte ansluta till lokal MySQL-server via sockeln '/tmp/mysql.sock' (2))

  2. Beskriv resultatuppsättningen i PostgreSQL?

  3. ORA-22288:fil- eller LOB-operation FILEOPEN misslyckades. Filnamn, katalognamn är felaktigt

  4. Oracle JDBC batchUpdate-rader som påverkas är alltid -2 (Statement.SUCCESS_NO_INFO)