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 N
vagy 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