SQLite
 sql >> Base de données >  >> RDS >> SQLite

Formats de chaîne d'heure valides pour les fonctions de date/heure SQLite

Vous trouverez ci-dessous une liste des formats de chaîne d'heure valides que vous pouvez utiliser dans n'importe quelle fonction de date et d'heure dans SQLite.

Chaîne de temps Exemple
AAAA-MM-JJ 2020-12-30
AAAA-MM-JJ HH :MM 2020-12-30 10:45
AAAA-MM-JJ HH:MM:SS 2020-12-30 10:45:07
AAAA-MM-JJ HH:MM:SS.SSS 2020-12-30 10:45:07.123
AAAA-MM-JJ T HH:MM 2020-12-30T10:45
AAAA-MM-JJ T HH:MM:SS 2020-12-30T10:45:07
AAAA-MM-JJ T HH:MM:SS.SSS 2020-12-30T10:45:07.123
HH :MM 10:45
HH:MM:SS 10:45:07
HH:MM:SS.SSS 10:45:07.123
maintenant 2020-12-30 10:45:07
DDDDDDDDDD 2459213.94799769

Le now time string renvoie la date et l'heure actuelles en utilisant le temps universel coordonné (UTC).

Le DDDDDDDDDD time string est le numéro du jour julien exprimé sous forme de valeur à virgule flottante.

Comment fonctionnent les chaînes de temps ?

Lorsque vous utilisez l'une des fonctions de date et d'heure SQLite, vous devez fournir une chaîne d'heure. Cette chaîne d'heure représente la date/heure à laquelle vous essayez de formater ou d'effectuer l'opération.

La chaîne d'heure que vous fournissez doit respecter l'un des formats valides du tableau ci-dessus.

Exemple de code

Voici un exemple de base pour illustrer quelques-unes des chaînes de temps dans le tableau ci-dessus.

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

Résultat :

      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

Indicateur de fuseau horaire

Toutes les chaînes d'heure qui incluent l'heure (telles que HH:MM, HH:MM:SS, etc.) peuvent également inclure un indicateur de fuseau horaire. Cela signifie toutes les chaînes de temps de la ligne 2 à la ligne 10 dans le tableau ci-dessus.

L'indicateur de fuseau horaire peut prendre la forme [+-]HH:MM ou juste Z .

Le Z suffixe ne change rien, car les fonctions de date et d'heure SQLite utilisent déjà l'heure UTC/zulu en interne de toute façon.

Tout HH:MM différent de zéro suffixe est soustrait de la date et de l'heure indiquées afin de calculer l'heure zoulou.

Exemple d'indicateurs de fuseau horaire

Voici quelques exemples à démontrer.

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

Résultat :

     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