2009-04-16 8 views
0
select 00.0004 ||' ' || 'USD/MT' from dual 

dies gibt die o/p alsSo extrahieren Sie eine 0 vor '.'

.0004 USD/MT 

ich auch eine 0 vor dem Komma will, so dass ich das Ergebnis als 0,0004 USD/MT

mir jemand kann helfen bekommen würde?

+1

Welches DB-System verwenden Sie? MS SQL? MySQL? Orakel? – Kezzer

+0

müssen Sie in die Formatierung Ihres Floats schauen, anstatt mit SQL-Abfragen zu manipulieren. – SilentGhost

+2

"von Dual" zeigt Oracle – Blorgbeard

Antwort

3

Ihre 00.0004-Variable wird als Float (oder Double) behandelt und wird aufgrund des Verkettungsoperators automatisch in eine Zeichenfolge konvertiert, die das Standardkonvertierungsformat verwendet.

Wenn die Variable wirklich eine Zeichenfolge ist, schließen Sie sie in Anführungszeichen ein.

Wenn es tatsächlich ein realer Wert aus einer Datenbankspalte extrahiert wird, verwenden Sie die entsprechende Funktion:

TO_CHAR(field, '0.9999') 

es in eine Zeichenfolge zu konvertieren je nach Bedarf formatiert werden, bevor sie mit den anderen Feldern verketten.

3

Wenn es Oracle ist in der Tat - dann ersetzen „wählen 00,0004“ mit:

wählen to_char (00,0004, ‚0,9999‘)

Die to_char Funktion in Oracle wie in diesem Beispiel verwendete einen Wert wie die erster Parameter und eine Formatzeichenkette für den zweiten Parameter. Die 0 weist das System an, diesen numerischen Platzhalter beizubehalten, auch wenn der Wert Null ist.

Verwandte Themen