počínaje SQL Serverem 2012 můžete formátovat číselné typy pomocí funkce T-SQL FORMAT(). Tato funkce přijímá tři argumenty; číslo, formát a volitelný argument „kultura“.

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

Zde je příklad:

SELECT FORMAT(1, 'N');

Výsledek:

1.00

V tomto případě jsem použil N jako druhý argument., Toto je standardní specifikátor číselného formátu pro číslo. Tento konkrétní specifikátor formátu (N) má za následek formátování výstupu pomocí integrálních a desetinných číslic, oddělovačů skupin a desetinného oddělovače s volitelným záporným znaménkem. Tento argument je case-insensitive, takže buď N nebo n je v pořádku.,

Desetinná Místa

Zde je další příklad, tentokrát pomocí N1 specifikovat, že chceme jen jedno desetinné místo:

SELECT FORMAT(1, 'N1');

Výsledek:

1.0

Ale můžete také zvýšit počet desetinných míst:

SELECT FORMAT(1, 'N7');

Výsledek:

1.0000000

V těchto příkladech 1 7 jsou známy jako specifikátory přesnost.

přesné specifikátory jsou volitelné., Mohou to být hodnoty od 0 do 99, které specifikují přesnost výsledku. Jak to funguje, závisí na použitém specifikátoru formátu. U některých specifikátorů formátu specifikuje celkový počet číslic ve výsledku, u jiných určí počet desetinných míst. V ostatních případech bude zcela ignorována. Podívejte se na úplný seznam specifikátorů standardního číselného formátu, abyste zjistili, jak přesné specifikátory ovlivňují výstup z každého specifikátoru formátu.

procento

následující příklady používají argument P, který formátuje číslo jako procentuální hodnotu., Násobí číslo o 100, pak přidá lokalizovaný procentní znak.

SELECT FORMAT(1, 'P') AS 'Example 1', FORMAT(.375, 'P') AS 'Example 2', FORMAT(.0375, 'P', 'tr-tr') AS 'Example 3';

Výsledek:

Example 1 Example 2 Example 3--------- --------- ---------100.00 % 37.50 % %3,75 

Všimněte si, že „Příklad 3“ zahrnuje třetí argument, který určuje kulturu, aby být použity ve výstupu. V tomto případě používám tr-tr pro turečtinu. To má za následek, že znaménko procent je připraveno na číslo (místo připojených, stejně jako ostatní). Výsledkem je také čárka, která se používá jako desetinný oddělovač.

pokud neposkytnete argument „kultura“, použije se jazyk aktuální relace.,

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 „kultura“. Podívejte se, jak nastavení jazyka může ovlivnit váš formát() výsledky pro více příkladů.

měna

pro vrácení hodnoty měny můžete použít C.

SELECT FORMAT(1, 'C');

Výsledek:

$1.00

můžete také přidat v prostředí jako třetí parametr.,

Here are some examples:

SELECT FORMAT(1, 'C', 'fr-FR') AS France, FORMAT(1, 'C', 'th-TH') AS Thailand, FORMAT(1, 'C', 'ja-JP') AS Japan;

Result:

France Thailand Japan------ -------- -----1,00 € ฿1.00 ¥1 

Exponential (Scientific)

You can use E to specify exponential notation.

SELECT FORMAT(1234.56789, 'E');

Result:

1.234568E+003 

Hexadecimal

You can even format a number as hexadecimal., K tomu, použít X argumenty:

SELECT FORMAT(10, 'X');

Výsledek:

A

Zde je další příklad, tentokrát s větším počtem:

SELECT FORMAT(7145, 'X');

Výsledek:

1BE9

Vlastní Formát

můžete si také vytvořit vlastní formát pomocí vlastní číselný formát řetězce. To se skládá z řady vlastních číselných specifikátorů formátu, které poskytují vzor pro vaše číslo.,

Toto je jednodušší vysvětlit na příkladu:

SELECT FORMAT(123456789, '##-###-####');

Výsledek:

12-345-6789

V tomto případě jsem použít zástupný znak pro číslici (#). Zástupný symbol číslice mi umožňuje zadat formát čísla pomocí symbolu# jako zástupný symbol pro každé číslo.

Čárky

Další příklad:

SELECT FORMAT(123456789, '#,#');

Výsledek:

123,456,789

úvodní Nuly

Další vlastní číselný formát specifikátor je nulový (0)., Můžete použít tento pad číslo s úvodní nuly:

SELECT FORMAT(7, '000') AS 'Example 1', FORMAT(123, '0000') AS 'Example 2', FORMAT(123, '00000') AS 'Example 3';

Výsledek:

Example 1 Example 2 Example 3--------- --------- ---------007 0123 00123 

můžete také použít k odstranění nul:

SELECT FORMAT(0123, '000') AS 'Example 1', FORMAT(0123, '0000') AS 'Example 2', FORMAT(000123, '00000') AS 'Example 3';

Výsledek:

Example 1 Example 2 Example 3--------- --------- ---------123 0123 00123 

Číselný Formát Specifikátory Odkaz

následující články obsahují všechny číselném formátu specifikátory, které lze použít s FORMAT() funkce, spolu s T-SQL příklady.,

  • Standardní Číselný Formát Řetězce
  • Vlastní Číselný Formát Řetězce

jedná se o stejný formát specifikátory, které jsou podporovány .NET Framework (FORMAT() funkce spoléhá na .NET Framework).

datum a čas

funkceFORMAT() také umožňuje formátovat datum a čas.

Datum a čas má samostatný soubor formátu specifikátory:

  • Standardní Formát Data a Času Řetězců
  • Vlastní Datum a Čas Formát Řetězce

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *