sql >> Base de Datos >  >> RDS >> SQLite

Formatos de cadena de tiempo válidos para funciones de fecha/hora de SQLite

A continuación se muestra una lista de formatos de cadena de tiempo válidos que puede usar en cualquier función de fecha y hora en SQLite.

Cadena de tiempo Ejemplo
AAAA-MM-DD 2020-12-30
AAAA-MM-DD HH:MM 2020-12-30 10:45
AAAA-MM-DD HH:MM:SS 2020-12-30 10:45:07
AAAA-MM-DD HH:MM:SS.SSS 2020-12-30 10:45:07.123
AAAA-MM-DD T HH:MM 2020-12-30T10:45
AAAA-MM-DD T HH:MM:SS 2020-12-30T10:45:07
AAAA-MM-DD 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
ahora 2020-12-30 10:45:07
DDDDDDDDDD 2459213.94799769

El now La cadena de tiempo devuelve la fecha y la hora actuales utilizando la hora universal coordinada (UTC).

El DDDDDDDDDD time string es el número del día juliano expresado como un valor de punto flotante.

¿Cómo funcionan las cadenas de tiempo?

Al usar cualquiera de las funciones de fecha y hora de SQLite, debe proporcionar una cadena de tiempo. Esta cadena de tiempo representa la fecha/hora en la que está intentando formatear o realizar la operación.

La cadena de tiempo que proporcione debe cumplir con uno de los formatos válidos en la tabla anterior.

Código de ejemplo

Aquí hay un ejemplo básico para demostrar algunas de las cadenas de tiempo en la tabla anterior.

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

Resultado:

      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

Indicador de zona horaria

Todas las cadenas de tiempo que incluyen la hora (como HH:MM, HH:MM:SS, etc.) también pueden incluir un indicador de zona horaria. Esto significa todas las cadenas de tiempo desde la fila 2 hasta la fila 10 en la tabla anterior.

El indicador de zona horaria puede adoptar la forma [+-]HH:MM o simplemente Z .

El Z el sufijo no cambia nada, ya que las funciones de fecha y hora de SQLite ya usan la hora UTC/zulú internamente de todos modos.

Cualquier HH:MM distinto de cero el sufijo se resta de la fecha y hora indicadas para calcular la hora zulú.

Ejemplo de indicadores de zona horaria

Aquí hay algunos ejemplos para demostrar.

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

Resultado:

     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