sql >> Databáze >  >> RDS >> SQLite

Jak formátovat datum a čas v SQLite

Problém:

Chcete naformátovat sloupec datetime nebo hodnotu v SQLite.

Příklad:

Naše databáze má tabulku s názvem ticket s údaji ve sloupcích passenger_ID , train_number a sale_datetime .

passenger_ID číslo_vlaku sale_datetime
245NX 4505 2019-10-17 12:56:30
127RG 3403 2019-10-17 11:45:23
567FH 4505 18. 10. 2019 12:40:32
230AP 6700 18. 10. 2019 13:20:20
118BB 3403 18. 10. 2019 13:13:13

Pro každý prodej jízdenek získáme ID cestujícího, číslo vlaku a datum a čas prodeje. Chceme formátovat datum prodeje tak, aby zobrazovalo den, měsíc a rok oddělené lomítky (/) s čárkou mezi rokem a časem. Chceme pouze hodinu a minutu prodeje.

Zde je dotaz, který byste napsali:

Řešení:

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

Zde je výsledek dotazu:

passenger_ID číslo_vlaku 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

Diskuse:

Použijte STRFTIME() funkce pro formátování dat date\time\datetime v SQLite. Tato funkce má dva argumenty. První argument je formátovací řetězec obsahující vzor části data/času. V našem příkladu používáme formátovací řetězec ‘%d/%m/%Y, %H:%M '. V tomto řetězci:

  • %d je dvoumístný den.
  • %m je dvoumístný měsíc.
  • %Y je čtyřmístný rok.
  • %H je dvoumístná hodina.
  • %M je dvoumístná minuta.

Více specifikátorů data a času naleznete v dokumentaci SQLite.

Druhý argument je čas/datum/datum a čas, který se má formátovat. Může to být výraz vracející hodnotu čas/datum/datum a čas nebo název sloupce čas/datum/datum a čas. (V našem příkladu je to sloupec sale_datetime .)

STRFTIME() vrátí naformátované datum a čas. V našem příkladu formátované datum a čas neobsahují sekundy a části data jsou místo pomlček (-) odděleny lomítky (/).


  1. Uložte více bitových hodnot do jednoho sloupce tabulky

  2. Výukový program SSIS pro začátečníky:Proč, co a jak?

  3. Použijte IDENT_CURRENT() k vrácení aktuální hodnoty identity ve sloupci identity na serveru SQL Server

  4. Velikost vzorku a doba trvání AKTUALIZACE STATISTIKY:Záleží na tom?