Maison >base de données >tutoriel mysql >Oracle 中的类型转换函数
带小数点的字符串(除小数点外其它的都是数字)转换成数值 TO_NUMBER Converts a string to the NUMBER data type TO_NUMBE
带小数点的字符串(除小数点外其它的都是数字)转换成数值
TO_NUMBER
Converts a string to the NUMBER data type
TO_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(
'
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