Maison  >  Article  >  base de données  >  Oracle 中的类型转换函数

Oracle 中的类型转换函数

WBOY
WBOYoriginal
2016-06-07 17:03:261017parcourir

带小数点的字符串(除小数点外其它的都是数字)转换成数值 TO_NUMBER Converts a string to the NUMBER data type TO_NUMBE

带小数点的字符串(除小数点外其它的都是数字)转换成数值

TO_NUMBER 

Converts a string to the NUMBER data type TO_NUMBER([, , ]) RETURN NUMBER

CREATE TABLE test (
testcol VARCHAR2(10));

INSERT INTO test VALUES ('12345.67');

SELECT TO_BINARY_DOUBLE(testcol) BIN_DOUBLE, TO_BINARY_FLOAT(testcol) BIN_FLOAT, TO_NUMBER(testcol) NMBR
FROM test;

Converts a HEX number to FLOAT TO_NUMBER(, );

SELECT TO_NUMBER('0A', 'XX')
FROM dual;

Converts a HEX number to DECIMAL TO_NUMBER(,
'') RETURN ;

SELECT TO_NUMBER(100000,'XXXXXXXX')
FROM dual;

 

1.语法:TO_NUMBER(string[,format[,nlsparams]])
目的:将CHAR或VARCHAR2类型的string转换为一个NUMBER类型的数值,,如果指定了format,那么string应该遵循相应的数字格式。
2.范例
DECLARE
    v_Num   NUMBER;
BEGIN
    v_Num   :=   TO_NUMBER( '$12345.67 ', '$99999.99 ');
END;

 

Oracle UTL_RAW

General Information

Source {ORACLE_HOME}/rdbms/admin/utlraw.sql

First Available 7.3.4

Constants

Name Data Type Value

Dependencies 179 objects

SELECT name FROM dba_dependencies
WHERE referenced_name = 'UTL_RAW'
UNION
SELECT referenced_name FROM dba_dependencies
WHERE name = 'UTL_RAW';

Exceptions

Error # Name Description

An arithmetic, conversion, truncation, or size-constraint error. Usually raised by trying to cram a 6 character string into a VARCHAR2(5).

Required Object Privileges GRANT execute on UTL_RAW

GRANT execute ON utl_raw TO UWCLASS;

 

BIT_AND

Perform bitwise logical "and" of the values in raw r1 with raw r2 and return the "anded" result raw utl_raw.bit_and(r1 IN RAW, r2 IN RAW) RETURN RAW;

SELECT utl_raw.bit_and('0102F3', 'F30201')
FROM dual;

 

BIT_COMPLEMENT

Perform bitwise logical "complement" of the values in raw and return the "complement'ed" result raw utl_raw.bit_complement(r IN RAW) RETURN RAW;

SELECT utl_raw.bit_complement('0102F3')
FROM dual;

 

BIT_OR

Perform bitwise logical "or" of the values in raw r1 with raw r2 and return the "or'd" result raw utl_raw.bit_or(r1 IN RAW, r2 IN RAW) RETURN RAW;

SELECT utl_raw.bit_or('0102F3', 'F30201')
FROM dual;

 

BIT_XOR

Perform bitwise logical "exclusive or" of the values in raw r1 with raw r2 and return the "xor'd" result raw utl_raw.bit_xor(r1 IN RAW, r2 IN RAW) RETURN RAW;

SELECT utl_raw.bit_xor('0102F3', 'F30201')
FROM dual;

 

CAST_FROM_BINARY_DOUBLE

Return the RAW representation of a binary_double value utl_raw.cast_from_binary_double(n IN BINARY_DOUBLE,
endianess IN PLS_INTEGER DEFAULT 1) RETURN RAW;

SELECT utl_raw.cast_from_binary_double(123.45)
FROM dual;

 

CAST_FROM_BINARY_FLOAT

Return the RAW representation of a binary_float value utl_raw.cast_from_binary_float(n IN BINARY_FLOAT,
endianess IN PLS_INTEGER DEFAULT 1) RETURN RAW;

SELECT utl_raw.cast_from_binary_float(123.45)
FROM dual;

 

CAST_FROM_BINARY_INTEGER

Return the RAW representation of a binary_integer value utl_raw.cast_from_binary_integer(
n         IN BINARY_INTEGER,
endianess IN PLS_INTEGER DEFAULT 1) RETURN RAW;

SELECT utl_raw.cast_from_binary_integer(100)
FROM dual;

 

CAST_FROM_NUMBER

Returns the binary representation of a NUMBER in RAW utl_raw.cast_from_number(n IN NUMBER) RETURN RAW;

SELECT utl_raw.cast_from_number(100)
FROM dual;

 

CAST_TO_BINARY_DOUBLE

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn