sql >> Databáze >  >> RDS >> Mysql

Jak formátovat čísla jako měnu v MySQL

Některé systémy DBMS nám poskytují možnost formátovat číslo jako měnu tím, že poskytují specifikátor formátu pro symbol měny. Poskytnutí takového specifikátoru formátu umožňuje systému DBMS vrátit příslušný symbol měny pro dané národní prostředí.

MySQL nemá specifikátor formátu měny, a tak musíme udělat trochu práce navíc, pokud chceme, aby byl vrácen symbol měny.

Příklad

Zde je příklad vrácení čísla jako měny v MySQL:

SELECT CONCAT('$', FORMAT(1234.5678, 2));

Výsledek:

$1,234.57

Zde jsme použili CONCAT() funkce pro spojení symbolu měny a čísla. Také jsme použili FORMAT() pro formátování čísla v požadovaném formátu.

Určete národní prostředí

FORMAT() funkce přijímá volitelný třetí argument pro národní prostředí. To vám umožňuje formátovat číslo pomocí zadaného národního prostředí.

Příklad:

SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));

Výsledek:

€1.234,57

V tomto případě je naším symbolem měny symbol eura ( ) místo znaku dolaru a určili jsme, že číslo by mělo být formátováno podle německých konvencí číslování, které používá tečku jako oddělovač skupin a čárku jako desetinnou čárku.

Formátování v aplikaci versus databáze

Obvykle se doporučuje, aby se formátování měny atd. provádělo na úrovni aplikace, nikoli na úrovni databáze. Prostředí pro programování aplikací mají obvykle lepší možnosti formátování než DBMS a obvykle je lepší nechat data vracet neformátovaná databází, aby aplikace mohla začít s čistým štítem a naformátovat je podle potřeby.

To znamená, že někdy situace vyžaduje formátování na úrovni databáze, v takovém případě se výše uvedené techniky mohou hodit.


  1. Jak přepsat IS DISTINCT FROM a IS NOT DISTINCT FROM?

  2. Jaký je dobrý způsob, jak oříznout všechny mezery z řetězce v T-SQL bez UDF a bez CLR?

  3. Více plánů pro identický dotaz

  4. Integrace ServiceNow se službou Oracle Identity Cloud Service (IDCS)