为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:8 【操作系统】: 【CPU】: 【问题描述】*:使用utl_raw.cast_to_number 解析number 类型报错;解析cast_to_int() 解析int 类型结果不对; cast_to_varchar2() 解析varchar类型结果不对;date,datetime,timestamp类型如何解析?
大概的想法: char,varchar,nvarchar类型的试试用 BINTOCHAR2; date,time,datetime,timestamp类型的试试用 BINTODATE,然后挂掩码应该都能转换过来;
对于 number、decimal类型的,应该有个 BINTODEC2 函数没释出,这个就比较麻烦,需要自己解析二进制串来反算了;
其他数值类型根据字段类型使用:SF_BIN_GET_DOUBLE、SF_BIN_GET_FLOAT、SF_BIN_GET_INT、SF_BIN_GET_BIGINT、SF_BIN_GET_SMALLINT、SF_BIN_GET_TINYINT;
binary、varbinary的就用rawtohex就行。
大概的想法:
char,varchar,nvarchar类型的试试用 BINTOCHAR2;
date,time,datetime,timestamp类型的试试用 BINTODATE,然后挂掩码应该都能转换过来;
对于 number、decimal类型的,应该有个 BINTODEC2 函数没释出,这个就比较麻烦,需要自己解析二进制串来反算了;
其他数值类型根据字段类型使用:SF_BIN_GET_DOUBLE、SF_BIN_GET_FLOAT、SF_BIN_GET_INT、SF_BIN_GET_BIGINT、SF_BIN_GET_SMALLINT、SF_BIN_GET_TINYINT;
binary、varbinary的就用rawtohex就行。