云数据库 GaussDB-DBE_RAW:示例

时间:2025-01-26 10:48:54

示例

 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
DECLAREv_raw RAW;v_int INTEGER;v_length INTEGER;v_str VARCHAR2;v_double BINARY_DOUBLE;v_float FLOAT4;v_numeric NUMERIC;v_nvarchar2 NVARCHAR2;BEGIN-- INTEGER类型值转RAW类型SELECT DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW(170,1) INTO v_raw; -- 000000AASELECT DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW(170,2) INTO v_raw; -- AA000000SELECT DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW(170,3) INTO v_raw; -- AA000000-- RAW类型值转INTEGER类型SELECT DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER(DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW(170,1),1) INTO v_int; -- 170SELECT DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER(DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW(170,2),2) INTO v_int; -- 170SELECT DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER(DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW(170,3),3) INTO v_int; -- 170-- 求RAW类型值长度SELECT DBE_RAW.GET_LENGTH(DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW(170,1)) INTO v_length; -- 4-- VARCHAR2类型值转RAW类型SELECT DBE_RAW.CAST_FROM_VARCHAR2_TO_RAW('AA') INTO v_raw; -- 4141-- RAW类型值转VARCHAR2类型SELECT DBE_RAW.CAST_TO_VARCHAR2('4141') INTO v_str; -- AA-- RAW类型按位或SELECT DBE_RAW.BIT_OR('0000', '1111') INTO v_raw; -- 1111-- RAW类型取字串SELECT DBE_RAW.SUBSTR('ABCD', 1, 2) INTO v_raw; -- ABCD-- RAW类型按位与SELECT DBE_RAW.BIT_AND('AFF', 'FF0B') INTO v_raw; -- 0A0B-- RAW类型按位取反SELECT DBE_RAW.BIT_COMPLEMENT('0AFF') INTO v_raw; -- F500-- RAW类型按位异或SELECT DBE_RAW.BIT_XOR('AFF', 'FF0B') INTO v_raw; -- F5F4-- BINARY_DOUBLE类型值转RAW类型SELECT DBE_RAW.CAST_FROM_BINARY_DOUBLE_TO_RAW(1.0001,1) INTO v_raw; -- 3FF00068DB8BAC71-- RAW类型值转BINARY_DOUBLE类型SELECT DBE_RAW.CAST_FROM_RAW_TO_BINARY_DOUBLE('3FF00068DB8BAC7',1) INTO v_double; -- 1.0001-- RAW类型转FLOAT4类型SELECT DBE_RAW.CAST_FROM_RAW_TO_BINARY_FLOAT('40200000',1) INTO v_float; -- 2.5-- FLOAT4类型转RAW类型SELECT DBE_RAW.CAST_FROM_BINARY_FLOAT_TO_RAW('2.5',1) INTO v_raw; -- 40200000-- RAW类型转NUMERIC类型SELECT DBE_RAW.CAST_FROM_RAW_TO_NUMBER('808002008813') INTO v_numeric; -- 2.5-- NUMERIC类型转RAW类型SELECT DBE_RAW.CAST_FROM_NUMBER_TO_RAW('2.5') INTO v_raw; -- 808002008813-- RAW类型转NVARCHAR2类型SELECT DBE_RAW.CAST_FROM_RAW_TO_NVARCHAR2('12345678') INTO v_nvarchar2; -- \x124Vx-- RAW类型COMPARESELECT DBE_RAW.COMPARE('ABCD','AB') INTO v_numeric; -- 2-- RAW类型CONCATSELECT DBE_RAW.CONCAT('ABCD','AB') INTO v_raw; -- ABCDAB-- RAW类型CONVERTSELECT DBE_RAW.CONVERT('E695B0', 'GBK','UTF8') INTO v_raw; -- CAFD-- RAW类型COPIESSELECT DBE_RAW.COPIES('ABCD',2) INTO v_raw; -- ABCDABCD-- RAW类型指定位置和长度进行覆盖SELECT DBE_RAW.OVERLAY('abcef', '12345678123456', 2, 5, '9966') INTO v_raw; -- 120ABCEF999956-- RAW类型按字节翻转SELECT DBE_RAW.REVERSE('12345678') INTO v_raw; -- 78563412-- RAW类型字节转换(无填充码)SELECT DBE_RAW.TRANSLATE('1122112233', '1133','55') INTO v_raw; -- 55225522-- RAW类型字节转换(有填充码)SELECT DBE_RAW.TRANSLITERATE('1122112233', '55','1133','FFEE') INTO v_raw; -- 55225522FF-- RAW类型两个字节间的所有字节SELECT DBE_RAW.XRANGE('00','03') INTO v_raw; -- 00010203END;/ANONYMOUS BLOCK EXECUTE
support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0776.html