DECODE_PG
📄字数 666
👁️阅读量 加载中...
功能描述
将 VARCHAR
类型的值按照指定的算法解码为 BINARY
类型的字符串。
语法格式
sql
DECODE_PG(expr1, expr2)
输入参数
expr1
:待解码字符串,VARCHAR
类型,或能隐式转换为VARCHAR
类型的其他类型。expr2
:解码算法名称,VARCHAR
类型,可选值为:BASE64
、ESCAPE
和HEX
。
提示
DECODE_PG(expr, 'BASE64')
等价于 BASE64_DECODE(expr)。DECODE_PG(expr, 'ESCAPE')
等价于 ESCAPE_DECODE(expr)。DECODE_PG(expr, 'HEX')
等价于 HEX_DECODE(expr)。
输出结果
返回 BINARY
类型,输入参数为 NULL
时,输出结果为 NULL
。
示例
sql
-- 按 'BASE64' 算法进行解码,解码后的值再通过 RAWTOHEX() 转换为十六进制
SQL> SELECT RAWTOHEX(DECODE_PG('EjRWeJCrze8AAQ==', 'BASE64')) FROM dual;
+----------------------+
| EXPR1 |
+----------------------+
| 1234567890ABCDEF0001 |
+----------------------+
-- 按 'ESCAPE' 算法进行解码,解码后的值再通过 RAWTOHEX() 转换为十六进制
SQL> SELECT RAWTOHEX(DECODE_PG('^R4Vx\220\253\315\357\000^A', 'ESCAPE')) FROM dual;
+----------------------+
| EXPR1 |
+----------------------+
| 1234567890ABCDEF0001 |
+----------------------+
-- 按 'HEX' 算法进行解码,解码后的值再通过 RAWTOHEX() 转换为十六进制
SQL> SELECT RAWTOHEX(DECODE_PG('1234567890abcdef0001', 'HEX')) FROM dual;
+----------------------+
| EXPR1 |
+----------------------+
| 1234567890ABCDEF0001 |
+----------------------+