如何在oracle中对varchar2进行类型转换

时间:2014-06-04 04:02:08

标签: oracle plsql casting

ntwt          FLOAT;

ntwt:=TO_FLOAT(substr(text,27,7));


Error(38,9): PLS-00201: identifier 'TO_FLOAT' must be declared

请帮忙

2 个答案:

答案 0 :(得分:3)

虽然Oracle中有一个FLOAT类型,但它实际上仅用于装饰目的,因为FLOAT和NUMBER之间没有区别。在SYS.STANDARD FLOAT中定义为

subtype FLOAT is NUMBER;

因此,只需使用TO_NUMBER功能进行转换,如:

ntwt := TO_NUMBER(SUBSTR(TEXT, 27, 7));

或者定义你自己的TO_FLOAT函数:

CREATE OR REPLACE FUNCTION TO_FLOAT(s IN VARCHAR2) AS FLOAT IS
BEGIN
  RETURN TO_NUMBER(s);
END TO_FLOAT;

分享并享受。

答案 1 :(得分:0)

ORACLE中没有TO_FLOAT功能,您可以使用:

TO_BINARY_FLOAT(substr(text,27,7))