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

Jak formátovat datum a čas na serveru SQL Server

V SQL Server můžete použít T-SQL FORMAT() funkce pro formátování data a/nebo času. Jednoduše uveďte dva argumenty; datum/čas a použitý formát.

Formát je dodáván jako formátovací řetězec. Formátovací řetězec definuje, jak by měl být výstup formátován.

 FORMAT() funkce také přijímá volitelný argument „kultura“, který vám umožňuje určit jazyk/místo, kterému by se měly výsledky držet.

Základní příklad

Zde je základní příklad použití FORMAT() funkce pro formátování data.

Nezpracované datum

Nejprve se podívejme, jak vypadá syrové datum. Pokud spustíme následující příkaz:

SELECT GETDATE();

Dostaneme výsledek, který vypadá asi takto:

2018-05-03 02:36:54.480

Formátované datum

Nyní můžeme použít FORMAT() k formátování tohoto data a času do našeho preferovaného formátu. Mohli bychom například udělat toto:

SELECT FORMAT( GETDATE(), 'D');

Výsledkem je toto:

Thursday, May 3, 2018

Toto je jen jeden z mnoha formátů, které jsme si mohli vybrat. Tady je další:

SELECT FORMAT( GETDATE(), 'd');

Výsledkem je toto:

5/3/2018

Skutečné výsledky se budou lišit v závislosti na použité kultuře. Ve výchozím nastavení je použit jazyk aktuální relace, ale můžete jej také přepsat pomocí třetího („kultura“) argumentu.

Nastavení národního prostředí

Do výše uvedeného kódu bychom mohli přidat třetí argument („kultura“), abychom určili národní prostředí, které se má použít pro formát data.

Takže bychom mohli udělat například toto:

SELECT FORMAT( GETDATE(), 'd', 'en-gb');

Výsledkem je toto:

03/05/2018

Zde je další příklad:

SELECT FORMAT( GETDATE(), 'd', 'zh-cn');

Výsledkem je toto:

5/3/2018

Pokud kultura argument není zadán, použije se jazyk aktuální relace.

Zde je návod, jak najít jazyk aktuální relace a zde je návod, jak jej nastavit.

Upozorňujeme, že aktuální jazyk bude obvykle stejný jako výchozí jazyk uživatele, ale nemusí tomu tak být, pokud uživatel změnil aktuální jazyk pomocí SET LANGUAGE . V každém případě můžete také zjistit, jaký je výchozí jazyk.

Jak si dokážete představit, můžete získat zcela odlišné výsledky v závislosti na vašem aktuálním jazyce nebo hodnotě jakéhokoli argumentu „kultury“. Další příklady najdete v části Jak může jazyková nastavení ovlivnit výsledky FORMAT().

Extrahování měsíce/týdne/roku

Můžete použít FORMAT() funkce vrátí pouze měsíční část data nebo týden nebo rok podle potřeby.

Všimněte si, že se rozlišují malá a velká písmena. Například MMM formátuje měsíc jinak na mmm .

Měsíc

Příklad kódu pro vrácení části měsíce:

SELECT FORMAT( GETDATE(), 'MMM');

Výsledek:

May

Rok

Příklad kódu pro vrácení části roku:

SELECT FORMAT( GETDATE(), 'yyyy');

Výsledek:

2018

Den

Příklad kódu pro vrácení části dne:

SELECT FORMAT( GETDATE(), 'dddd');

Výsledek:

Thursday

Extrahování času

Můžete také použít FORMAT() funkce vrátit čas v určeném formátu.

Zde je příklad:

SELECT FORMAT( GETDATE(), 'hh.mm');

Výsledek:

03.37

Designátor AM/PM

Můžete také přidat tt zahrnout označení AM/PM:

SELECT FORMAT( GETDATE(), 'hh.mm tt');

Výsledek:

03.37 AM

Kombinování formátovacích řetězců

Tyto formátovací řetězce můžete také kombinovat, abyste získali svůj vlastní přizpůsobený formát data. Příklad:

SELECT FORMAT( GETDATE(), 'hh.mm tt dddd, dd MMMM, yyyy');

Výsledek:

03.41 AM Thursday, 03 May, 2018

Referenční informace o specifikátorech formátu data a času

Následující články obsahují všechny specifikátory formátu data a času, které lze použít s FORMAT() funkce v SQL Server, spolu s příklady T-SQL:

  • Standardní řetězce formátu data a času
  • Vlastní řetězce formátu data a času

Jedná se o stejné specifikátory formátu data a času, které podporuje rozhraní .NET Framework (FORMAT() funkce závisí na .NET Framework).

Přehled číselných specifikátorů formátu

Následující články obsahují všechny číselné specifikátory formátu, které můžete použít s FORMAT() funkce (tj. pro formátování čísel):

  • Standardní řetězce číselného formátu
  • Řetězce vlastního číselného formátu

Jedná se o stejné číselné specifikátory formátu, které podporuje rozhraní .NET Framework.

Další funkce data

T-SQL také obsahuje spoustu dalších funkcí, které vám pomohou extrahovat části z dat. Patří mezi ně funkce jako DAY() , MONTH() , YEAR() , DATEPART() a DATENAME() .


  1. Zakažte všechna omezení tabulky v Oracle

  2. Dynamicky vytvářet PHP objekt založený na řetězci

  3. Jak zálohovat databáze MySQL z příkazového řádku v Linuxu

  4. MySQL pořadí podle před seskupit podle