sql >> Databáze >  >> RDS >> Sqlserver

SYSDATETIMEOFFSET() Příklady v SQL Server (T-SQL)

Na serveru SQL Server transact-sql SYSDATETIMEOFFSET() funkce vrací datetimeoffset(7) hodnota, která obsahuje datum a čas počítače, na kterém běží instance SQL Server. Tato hodnota zahrnuje posun časového pásma.

Příklady použití níže.

Syntaxe

Syntaxe vypadá takto:

SYSDATETIMEOFFSET ( )

Funkci tedy jednoduše zavoláte bez jakýchkoli argumentů.

Příklad

Zde je základní příklad:

SELECT SYSDATETIMEOFFSET() AS Result;

Výsledek:

Result
----------------------------------
2018-06-17 09:55:27.3221853 +10:00

Extrahování posunu časového pásma

Můžete použít DATEPART() funkce pro vrácení posunu časového pásma. Tato funkce vrací celé číslo, které představuje posun časového pásma v minutách.

Příklad:

SELECT 
    SYSDATETIMEOFFSET() AS 'Date/time',
    DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TZ Offset';

Výsledek:

Date/time                             TZ Offset
----------------------------------    -----------
2018-06-17 10:04:23.2316409 +10:00    600

Pomocí funkce FORMAT() můžete také vrátit posun časového pásma jako řetězec. Konkrétně můžete použít z , zz a/nebo zzz argumenty, které jej vrátí v požadovaném formátu.

Příklad:

SELECT 
    SYSDATETIMEOFFSET() AS 'Date/time',
    FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz',
    FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz';

Výsledek:

Date/time                             zz                zzz
----------------------------------    --------------    --------------
2018-06-17 10:27:33.7314840 +10:00    +10               +10:00

Převod návratové hodnoty

Můžete také použít funkce jako CONVERT() převést návratovou hodnotu na jiný datový typ. Zde je příklad, kdy jej převedu na datum hodnotu a čas hodnota:

SELECT 
    CONVERT (date, SYSDATETIMEOFFSET()) AS 'Date',
    CONVERT (time, SYSDATETIMEOFFSET()) AS 'Time';

Výsledek:

Date          Time
----------    ----------------
2018-06-17    10:08:29.6377947

Jakmile to uděláme, samozřejmě ztratíme posun časového pásma.

Viz také TODATETIMEOFFSET() což vám umožní získat datetimeoffset hodnotu z datetime2 výraz a SWITCHOFFSET() což vám umožňuje změnit posun časového pásma.


  1. Vrácení více tabulek z uložené procedury

  2. MySQL seskupit podle a seřadit podle

  3. Ukládání souborů na SQL Server

  4. Jaký je nejlepší způsob migrace Django DB z SQLite do MySQL?