2017-07-28 182 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