sql >> Database teknologi >  >> RDS >> SQLite

Gyldige tidsstrengformater for SQLite dato/tidsfunktioner

Nedenfor er en liste over gyldige tidsstrengformater, som du kan bruge i enhver dato- og tidsfunktion i SQLite.

Tidsstreng Eksempel
ÅÅÅÅ-MM-DD 2020-12-30
ÅÅÅÅ-MM-DD TT:MM 2020-12-30 10:45
ÅÅÅÅ-MM-DD TT:MM:SS 2020-12-30 10:45:07
ÅÅÅÅ-MM-DD TT: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

nu tidsstreng returnerer den aktuelle dato og klokkeslæt ved hjælp af Universal Coordinated Time (UTC).

DDDDDDDDDD tidsstreng er det julianske dagtal udtrykt som en flydende kommaværdi.

Hvordan fungerer tidsstrengene?

Når du bruger nogen af ​​SQLites dato- og tidsfunktioner, skal du angive en tidsstreng. Denne tidsstreng repræsenterer datoen/klokkeslættet, som du forsøger at formatere eller udføre handlingen på.

Den tidsstreng, du angiver, skal overholde et af de gyldige formater i ovenstående tabel.

Eksempelkode

Her er et grundlæggende eksempel for at demonstrere et par af tidsstrengene i ovenstående tabel.

.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

Tidszoneindikator

Alle tidsstrenge, der inkluderer tiden (såsom TT:MM, TT:MM:SS osv.) kan også indeholde en tidszoneindikator. Dette betyder alle tidsstrenge fra række 2 til række 10 i ovenstående tabel.

Tidszoneindikatoren kan have formen [+-]TT:MM eller bare Z .

Z suffikset ændrer ikke noget, da SQLite-dato- og tidsfunktionerne alligevel allerede bruger UTC/zulu-tid internt.

Enhver TT:MM, der ikke er nul suffikset trækkes fra den angivne dato og klokkeslæt for at beregne zulu-tid.

Eksempel på tidszoneindikatorer

Her er nogle eksempler til demonstration.

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. 5 måder at returnere rækker, der indeholder små bogstaver i SQL Server

  2. Problemer med at kalde lagret procedure fra C# med stor CLOB

  3. Perfekt Storm til opgradering til en moderne version af SQL Server

  4. Sådan får du input fra brugeren under kørsel