Az SQL Server 2012-től kezdve formázhatja a numerikus típusokat a T-SQL FORMAT() funkcióval. Ez a függvény három érvet fogad el; a számot, a formátumot, valamint egy opcionális “kultúra” argumentumot.

a formátum formátum karakterláncként kerül megadásra. A formátum karakterlánc határozza meg, hogyan kell formázni a kimenetet.

itt van egy példa:

SELECT FORMAT(1, 'N');

eredmény:

1.00

ebben az esetben a N – t használtam a második argumentumként., Ez a szám szabványos numerikus formátuma. Ez a formátumspecifier (N) azt eredményezi, hogy a kimenetet integrált és decimális számjegyekkel, csoportszeparátorokkal, valamint opcionális negatív jelzéssel rendelkező tizedes elválasztóval formázzák. Ez az érv eset-érzéketlen, így vagy Nvagy n rendben van.,

tizedesjegyek

ez Itt egy másik példa, ezúttal a N1 adja meg, hogy mi csak egy tizedesjegyre kerekítve:

SELECT FORMAT(1, 'N1');

Eredmények:

1.0

De meg is növeli a tizedesjegyek számát is:

SELECT FORMAT(1, 'N7');

Eredmények:

1.0000000

a példákban a 1 vagy 7 ismert precíziós használt leggyakoribb kódok.

A precíziós specifikációk nem kötelezőek., Ezek 0-tól 99-ig terjedő érték lehetnek, ami meghatározza az eredmény pontosságát. Hogyan működik, attól függ, hogy milyen formátumot használ. Egyes formátum-meghatározók esetében meghatározza az eredmény összes számjegyét, mások esetében meghatározza a tizedes helyek számát. Más esetekben teljesen figyelmen kívül hagyják. Lásd a teljes listát a szabványos numerikus formátum specifiers, hogy milyen precíziós specifiers befolyásolja a kimenetet az egyes formátum specifier.

százalék

a következő példák a P argumentumot használják, amely a számot százalékos értékként formázza., Ez megsokszorozza a számot 100-mal, majd hozzáad egy lokalizált százalékos jelet.

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

eredmény:

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

vegye figyelembe, hogy a” 3.példa ” tartalmaz egy harmadik argumentumot, amely meghatározza a kimenetben használandó kultúrát. Ebben az esetben a tr-tr török nyelvet használom. Ez azt eredményezi, hogy a százalékjelet a számhoz csatolták (a többihez hasonlóan). Azt is eredményezi, hogy vesszőt használnak tizedes elválasztóként.

ha nem adja meg a “kultúra” argumentumot, akkor az aktuális munkamenet nyelvét használja.,

ahogy elképzelheti, egészen más eredményeket kaphat az aktuális nyelvétől vagy bármely “kultúra” argumentum értékétől függően. További példákhoz nézze meg, hogy a nyelvi beállítások hogyan befolyásolhatják a formátum () eredményeit.

pénznem

használhatja aC pénznem értékének visszaadásához.

SELECT FORMAT(1, 'C');

eredmény:

$1.00

harmadik paraméterként is hozzáadhatja a helyi értéket.,

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., Ehhez használja a X argumentumot:

SELECT FORMAT(10, 'X');

eredmény:

A

itt egy másik példa, ezúttal nagyobb számmal:

SELECT FORMAT(7145, 'X');

eredmény:

1BE9

egyéni formátum

saját egyéni formátumot is létrehozhat egyéni numerikus formátum karakterlánc segítségével. Ez egy sor egyedi numerikus formátum specifikátorból áll, amelyek mintát adnak a számához.,

ezt könnyebb megmagyarázni egy példával:

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

eredmény:

12-345-6789

ebben az esetben a számjegy helyőrzőt használom (#). A digit helyőrző lehetővé teszi számomra, hogy megadjak egy formátumot a számhoz ,a# szimbólum használatával, mint helyőrző minden számhoz.

vesszők

egy másik példa:

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

eredmény:

123,456,789

vezető nullák

egy másik egyedi numerikus formátum specifier nulla (0)., Ezt a számot a vezető nullákkal párosíthatja:

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

eredmény:

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

nullák eltávolítására is használhatja:

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

eredmény:

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

numerikus formátum specifiers reference

a következő cikkek tartalmazzák a FORMAT() függvényt, valamint a T-SQL példákat.,

  • Standard numerikus formátumú karakterláncok
  • egyéni numerikus formátumú karakterláncok

ezek ugyanazok a formátum-meghatározók, amelyeket a.NET keretrendszer támogat (a FORMAT() függvény a. net keretrendszerre támaszkodik).

dátum és idő

a FORMAT() funkció lehetővé teszi a dátum és az idő formázását is.

a dátumnak és az időnek külön formátumspecifikus halmaza van:

  • Standard Date and Time Format Strings
  • Custom Date and Time Format Strings

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük