sql >> Database >  >> RDS >> SQLite

Hoe de Time()-functie werkt in SQLite

SQLite heeft een time() functie waarmee u een tijdwaarde kunt retourneren op basis van een tijdreeks en eventuele modificaties.

Het geeft de tijd terug in dit formaat:HH:MM:SS

Om deze functie te gebruiken, moet u een tijdreeks opgeven, plus eventuele (optionele) modifiers. Met een modifier kunt u de tijd wijzigen, zoals een aantal uren toevoegen, instellen op lokale tijd, enz.

Syntaxis

De syntaxis van de time() functie gaat als volgt:

time(timestring, modifier, modifier, ...)

De timestring argument moet een geldige tijdreeks zijn.

De modifier argumenten zijn optioneel. U kunt een of meer modifiers opgeven. Als je een modifier opgeeft, moet het een geldige modifier zijn.

Voorbeeld

Hier is een eenvoudig voorbeeld om de time() . te demonstreren functie wordt gebruikt met één argument.

SELECT time('now');

Resultaat:

03:47:36

De now tijdreeks wordt geconverteerd naar de huidige datum en tijd. Aangezien ik de time() . gebruik functie, wordt alleen het tijdgedeelte geretourneerd.

Een modificatie toevoegen

We kunnen het vorige resultaat wijzigen door een modifier te gebruiken. Hier is een voorbeeld.

SELECT time('now', '+5 hours');

Resultaat:

08:48:24

In dit geval heb ik vijf uur aan de tijd toegevoegd.

Meerdere modificaties

Zoals vermeld, kunt u een of meer modifiers toevoegen. Hier is een voorbeeld van het toevoegen van een andere modifier aan het vorige voorbeeld.

SELECT time('now', '+5 hours', 'localtime');

Resultaat:

18:50:08

De localtime modifier gaat ervan uit dat de opgegeven tijdreeks in Universal Coordinated Time (UTC) is. Vervolgens wordt de tijdreeks aangepast zodat de lokale tijd wordt weergegeven.

Daarom kunt u, afhankelijk van uw lokale tijd, een ander resultaat krijgen.

Letterlijke tekenreeks als de tijdreeks

De bovenstaande voorbeelden gebruiken now als de tijdreeks, maar u kunt elke geldige tijdreeks opgeven.

Hier zijn een paar andere voorbeelden.

SELECT time('1999-12-18 17:10:23');

Resultaat:

17:10:23 

In dit geval verwijdert het eenvoudig het datumgedeelte van de datum.

time() versus strftime()

De time() functie geeft exact hetzelfde resultaat als strftime('%H:%M:%S', ...) geeft terug. De time() functie is gewoon een handiger manier om het te doen.

SELECT 
  time('now'),
  strftime('%H:%M:%S', 'now');

Resultaat:

time('now')  strftime('%H:%M:%S', 'now')
-----------  ---------------------------
03:56:09     03:56:09                   

Datumbereik

Zoals met alle SQLite-datum- en tijdfuncties, time() werkt alleen voor datums tussen 0000-01-01 00:00:00 en 9999-12-31 23:59:59 (julian-dagnummers 1721059.5 t/m 5373484.5).

Voor datums buiten dat bereik zijn de resultaten niet gedefinieerd.


  1. 2 manieren om een ​​database op een gekoppelde server te maken met behulp van T-SQL

  2. Vind alle zoekopdrachten die een bepaalde tabel gebruiken

  3. Vind entiteiten waarnaar wordt verwezen in SQL Server:sys.dm_sql_referenced_entities

  4. Hoe kan ik bevestigen dat een database Oracle is en welke versie SQL gebruikt?