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

Sådan formateres en Datetime i SQLite

Problem:

Du vil formatere en datetime-kolonne eller -værdi i SQLite.

Eksempel:

Vores database har en tabel med navnet ticket med data i kolonnerne passenger_ID , train_number , og sale_datetime .

passager-ID tog_nummer sale_datetime
245NX 4505 2019-10-17 12:56:30
127RG 3403 2019-10-17 11:45:23
567FH 4505 2019-10-18 12:40:32
230AP 6700 2019-10-18 13:20:20
118BB 3403 2019-10-18 13:13:13

Lad os for hvert billetsalg få passager-id, tognummer og salgsdato og -tidspunkt. Vi ønsker at formatere salgsdatoen til at vise dagen, måneden og året adskilt af skråstreger (/) med et komma mellem år og tidspunkt. Vi ønsker kun timen og minuttet for salget.

Her er den forespørgsel, du ville skrive:

Løsning:

SELECT passenger_ID,
  train_number,
  STRFTIME('%d/%m/%Y, %H:%M', sale_datetime)
  AS sale_formatted_datetime 
FROM ticket;

Her er resultatet af forespørgslen:

passager-ID tog_nummer sale_formatted_datetime
245NX 4505 17/10/2019, 12:56
127RG 3403 17/10/2019, 11:45
567FH 4505 18/10/2019, 12:40
230AP 6700 18/10/2019, 13:20
118BB 3403 18/10/2019, 13:13

Diskussion:

Brug STRFTIME() funktion til at formatere dato\tid\datotidsdata i SQLite. Denne funktion tager to argumenter. Det første argument er en formatstreng, der indeholder dato/tid delmønsteret. I vores eksempel bruger vi formatstrengen "%d/%m/%Y, %H:%M '. I denne streng:

  • %d er en tocifret dag.
  • %m er en tocifret måned.
  • %Y er et firecifret årstal.
  • %H er en tocifret time.
  • %M er et tocifret minut.

Du kan finde flere dato- og tidsangivelser i SQLite-dokumentationen.

Det andet argument er værdien for tid/dato/dato/klokkeslæt, der skal formateres. Dette kan være et udtryk, der returnerer en tid/dato/dato/klokkeslæt værdi eller navnet på en tid/dato/dato/klokkeslæt kolonne. (I vores eksempel er det kolonnen sale_datetime .)

STRFTIME() returnerer den formaterede dato og tid. I vores eksempel indeholder den formaterede dato og klokkeslæt ikke sekunder, og datodelene er adskilt af skråstreger (/) i stedet for bindestreger (-).


  1. SQL Server - Auto-inkrementering, der tillader UPDATE-sætninger

  2. fange DB-undtagelse i JSF+EJB-applikation

  3. Trævisningskontrol Afkrydsningsmærke Tilføj Slet noder

  4. Sådan opretter du bruger/database i script til Docker Postgres