2017-07-28 112 views
-1

我有一個非常簡單的問題,您使用oracle sql的人可能會很快回答。Oracle,將varchar轉換爲數字

此查詢將在oracle中工作嗎?

你們甚至可以在你的ORACLE DB中運行一個類似的查詢來回答這個問題。我問這個問題是因爲我們必須支持多個關係數據庫,而且我現在無法從Oracle訪問一個。

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

變化的數字,它應該工作。我會盡管使用TO_NUMBER函數。語法如下:TO_NUMBER(string1 [,format_mask] [,nls_language]) –

+1

什麼是OID?它的數據類型是什麼?一些典型值可能是什麼樣的? – mathguy

+0

您確實有權訪問Oracle數據庫:https://livesql.oracle.com/apex/livesql/file/index.html –

回答

0

Oracle/PLSQL TO_NUMBER函數將字符串轉換爲數字。

語法

在Oracle/PLSQL的TO_NUMBER函數的語法是:

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

參數或參數

字符串1 將被轉換成數字的字符串。

format_mask 可選。這是用來將string1轉換爲數字的格式。

nls_language 可選。這是用於將string1轉換爲數字的nls語言。

例如:

由於format_mask和NLS_LANGUAGE參數是可選的,你可以簡單的文本字符串轉換爲數值如下:用數字

MAX(TO_NUMBER(OID)) AS MAXOID