Ragazzi voglio stampare i seguenti dati con valori separati da virgole utilizzando Oracle SQLoracle query SQL per numero di formato da virgola
696585242087
to
69,658,524,2087
e lo stesso per il decimale.
Ragazzi voglio stampare i seguenti dati con valori separati da virgole utilizzando Oracle SQLoracle query SQL per numero di formato da virgola
696585242087
to
69,658,524,2087
e lo stesso per il decimale.
SELECT TO_CHAR(696585242087, '99G999G999G9999', 'NLS_NUMERIC_CHARACTERS=",."')
FROM dual
+1 Consente [paesi] (http://en.wikipedia.org/wiki/Decimal_separator#Countries_using_Arabic_numerals_with_decimal_comma) che utilizza una virgola decimale –
Cosa succede se non so quante cifre il numero di origine ha, voglio dire è lì qualsiasi modello per raggruppare ogni 3 cifre indipendentemente dalla lunghezza del numero? –
un'occhiata a to_char: http://www.oradev.com/oracle_number_format.jsp
Vedi the Oracle docs per tutta la follia che può essere fatto per la formattazione dei numeri. La versione corta è necessario la funzione "TO_CHAR", e di fornire una stringa di formattazione per l'uscita:
TO_CHAR(col_name, '999,999,999,999')
dovrebbe fare quello che ti serve.
Prendendo aggiornamento s il Dead programmer'(24/Gen/2011) (autore originale della questione) e il commento di Amir Pashazadeh (5/Mar/2016) formato, possiamo ottenere la virgola desiderato separati con il seguente esempio.
presente codice si applica per i numeri con uguale o inferiore a 15 cifre, se avrete bisogno per il grande lunghezza, si dovrebbe aggiungere ulteriori 999.999 secondo con il massimo di lunghezza si riuscirà.
SELECT TRIM(TO_CHAR(12345678, '999,999,999,999,999')) ttry FROM DUAL
UNION ALL
SELECT TRIM(TO_CHAR( 1234, '999,999,999,999,999')) ttry FROM DUAL
;
Risultato:
TTRY
12.345.678
1.234
perché si vuole una virgola prima il diritto più 4 cifre? – MatBailie
scusate, ad esempio. –