2017-07-28 4 views
-1

Ich habe eine wirklich einfache Frage, die Sie Jungs, die Oracle SQL verwenden möglicherweise sehr schnell beantworten.Oracle, casting varchar als numerischer

Funktioniert diese Abfrage in Oracle?

Sie können sogar eine ähnliche Abfrage in Ihrer ORACLE DB ausführen, um diese Frage zu beantworten. Ich stelle diese Frage, weil wir mehrere relationale Datenbanken unterstützen müssen und ich momentan keinen Zugriff auf Oracle habe.

SELECT MAX(CAST(OID AS numeric)) AS MAXOID 
FROM FAKETABLE 
+0

ändern numerisch mit Nummer und es sollte funktionieren. Ich würde jedoch die TO_NUMBER-Funktion verwenden. Syntax ist die folgende: TO_NUMBER (string1 [, format_mask] [, nls_language]) –

+1

Was ist OID? Wie ist der Datentyp und wie können typische Werte aussehen? – mathguy

+0

Sie haben Zugriff auf eine Oracle-Datenbank: https://livesql.oracle.com/apex/livesql/file/index.html –

Antwort

0

Die Oracle/PLSQL TO_NUMBER-Funktion konvertiert eine Zeichenfolge in eine Zahl.

Syntax

Die Syntax für die TO_NUMBER Funktion in Oracle/PLSQL ist:

TO_NUMBER(string1 [, format_mask] [, nls_language]) 

Parameter oder Argumente

Zeichenfolge1 Die Zeichenfolge, die in eine Zahl umgewandelt wird.

format_maske Optional. Dies ist das Format, das verwendet wird, um string1 in eine Zahl zu konvertieren.

nls_language Optional. Dies ist die Sprache nls, die verwendet wird, um string1 in eine Zahl zu konvertieren.

Zum Beispiel:

Da die format_mask und NLS_LANGUAGE Parameter sind optional, können Sie einfach einen Text-String in einen numerischen Wert wie folgt konvertieren:

MAX(TO_NUMBER(OID)) AS MAXOID 
Verwandte Themen