sql >> Databasteknik >  >> RDS >> SQLite

Giltiga tidssträngsformat för SQLites datum/tidsfunktioner

Nedan finns en lista över giltiga tidssträngsformat som du kan använda i valfri datum- och tidsfunktion i SQLite.

Tidssträng Exempel
ÅÅÅÅ-MM-DD 2020-12-30
ÅÅÅÅ-MM-DD HH:MM 2020-12-30 10:45
ÅÅÅÅ-MM-DD HH:MM:SS 2020-12-30 10:45:07
ÅÅÅÅ-MM-DD HH:MM:SS.SSS 2020-12-30 10:45:07.123
ÅÅÅÅ-MM-DD T TT:MM 2020-12-30T10:45
ÅÅÅÅ-MM-DD T TT:MM:SS 2020-12-30T10:45:07
ÅÅÅÅ-MM-DD T TT:MM:SS.SSS 2020-12-30T10:45:07.123
TT:MM 10:45
TT:MM:SS 10:45:07
TT:MM:SS.SSS 10:45:07.123
nu 2020-12-30 10:45:07
DDDDDDDDDD 2459213.94799769

now tidssträng returnerar aktuellt datum och tid med hjälp av UTC (Universal Coordinated Time).

DDDDDDDDDD tidssträng är det julianska dagtalet uttryckt som ett flyttal.

Hur fungerar tidssträngarna?

När du använder någon av SQLites datum- och tidsfunktioner måste du ange en tidssträng. Den här tidssträngen representerar datumet/tiden som du försöker formatera eller utföra operationen på.

Tidssträngen du anger måste följa ett av de giltiga formaten i tabellen ovan.

Exempelkod

Här är ett grundläggande exempel för att visa några av tidssträngarna i tabellen ovan.

.mode line
SELECT 
  datetime('2020-12-30'),
  datetime('now'),
  datetime('2459213.94799769');

Resultat:

      datetime('2020-12-30') = 2020-12-30 00:00:00
             datetime('now') = 2020-04-24 22:58:31
datetime('2459213.94799769') = 2020-12-30 10:45:07

Tidszonsindikator

Alla tidssträngar som inkluderar tiden (som TT:MM, TT:MM:SS, etc) kan också inkludera en tidszonsindikator. Detta betyder alla tidssträngar från rad 2 till rad 10 i tabellen ovan.

Tidszonsindikatorn kan ha formen [+-]HH:MM eller bara Z .

Z suffixet ändrar ingenting, eftersom SQLites datum- och tidsfunktioner redan använder UTC/zulu-tid internt ändå.

Alla HH:MM som inte är noll suffixet subtraheras från det angivna datumet och tiden för att beräkna zulutid.

Exempel på tidszonsindikatorer

Här är några exempel att visa.

SELECT 
  datetime('10:45Z'),
  datetime('10:45+01:00'),
  datetime('10:45-01:00');

Resultat:

     datetime('10:45Z') = 2000-01-01 10:45:00
datetime('10:45+01:00') = 2000-01-01 09:45:00
datetime('10:45-01:00') = 2000-01-01 11:45:00

  1. Hur man lägger till en uppslagskontroll till ett formulär i Access 2016

  2. Hur Modulo-operatören fungerar i MariaDB

  3. Hur man fixar den nya datatypen som orsakar problem för MS Access

  4. Skript för att spara varbinära data på disken