本节介绍如下函数:
类型转换
Oracle/PLSQL的CAST函数用于转换数据类型。
CAST ( AS TEXT)
一般情况下,静态值迁移为CAST AS TEXT。但是,在 PL/SQL存储过程和函数中 ,SELECT INTO子句中包的含静态值不迁移,静态值输入和输出完全相同。
输入: CAST(AS TEXT)
BEGIN
IF
V_DETAILSTATUS = '002'
THEN
meta.p_mt_std_cover_log.r_cover_log ( '384969028' ,'566' ,'35' ) ;
SELECT
'abc' INTO V_RECL_USER
FROM
STAT_DETAIL
WHERE
DAPCODE = V_DAPCODE
AND DETAIL_ID = V_DETAIL_ID ;
ELSIF
...
END;
输出
BEGIN
IF
V_DETAILSTATUS = '002'
THEN
meta.p_mt_std_cover_log.r_cover_log ( '384969028' ,'566' ,'35' ) ;
SELECT
'abc' INTO V_RECL_USER
FROM
STAT_DETAIL
WHERE
DAPCODE = V_DAPCODE
AND DETAIL_ID = V_DETAIL_ID ;
ELSIF
...
END;
TO_CLOB
在Oracle中,CLOB数据类型可存储单字节或多字节字符集(支持超过4 GB)中的变长字符数据(字符型大对象)。TO_CLOB函数用于将字符串(CHAR、VARCHAR2 、NCHAR、NVARHCAR2、CLOB或NCLOB)转换为CLOB数据类型。DSC支持SQL和PL/SQL中的TO_CLOB。
输入:在SQL中使用TO_CLOB
create table clob_t ( c1 int, c2 clob );
insert into clob_t values ( 1, TO_CLOB('abcddedf') );
输出
create table clob_t ( c1 int, c2 clob );
insert into clob_t values ( 1, CAST('abcddedf' AS CLOB) );
输入:在PL/SQL中使用TO_CLOB
declare v_clob clob;
v_text varchar(1000);
begi in Sn
v_clob := TO_CLOB('abcddedf');
insert into clob_t values ( 2, v_clob );
v_text := '123454';
insert into clob_t values ( 3, TO_CLOB(v_text || v_clob) );
end;
/
输出
declare v_clob clob;
v_text varchar(1000);
begin
v_clob := CAST('abcddedf'