sql >> Databáze >  >> RDS >> Oracle

TO_Char model číselného formátu v Oracle

Mějte na paměti, že transformujete číslo na řetězec. Číslo nemá žádný význam "," nebo "." nebo cokoli – je to číslo.

Trik je získat TO_CHAR funkce pro převod interního čísla na požadovanou řetězcovou reprezentaci. Existuje několik problémů, kterých je třeba se obávat:správné určení radixové tečky (desetinné) a řešení výplně.

Zde je pracovní příklad:

SELECT to_char(0.00235,'FM99999999999999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;

0,00235

SELECT to_char(156.45823,'FM99999999999999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;

156,45823

SELECT to_char(-0.0235,'FM99999999999999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;

-0,0235

SELECT to_char(-156.45623,'FM99999999999999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;

-156,45623

SELECT to_char(123456789.45623,'FM99999999999999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;

123456789,45623

Příslušné části masky:

FM se používá k oříznutí úvodních a koncových mezer, které Oracle běžně používá k vyplnění čísel.

D je radixový bod v závislosti na vašem nastavení NLS.

NLS_NUMERIC_CHARACTERS ... je přepsáním vašich místních nastavení NLS – to nemusí být nutné, pokud vaše národní prostředí používá jako desetinnou čárku, ale je to způsob, jak můžete toto chování vynutit v databázi, řekněme, s nastavením pro Severní Ameriku.



  1. Seznam tabulek ve schématu PostgreSQL

  2. Jak předem načíst tabulky do vyrovnávací paměti INNODB s MySQL?

  3. Může SQL Server odeslat webový požadavek?

  4. Spusťte uloženou proceduru pomocí entity framework