PostgreSQL自定义函数实现十六进制转十进制
在PostgreSQL我们可以直接通过下面的方式来将十六进制转换成十进制:
bill@bill=>select x'ab'::int;int4
------171
(1 row)
但是这仅仅只能针对某个固定的字符串,如果是下面这种情况就没办法直接转换了:
bill@bill=>select x(substring('abcd',1,2))::int;
ERROR: function x(text) does not exist
LINE 1: select x(substring('abcd',1,2))::int;^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
这种情况我们可以通过UDF函数来实现:
CREATE OR REPLACE FUNCTION hex_to_int(hexval varchar) RETURNS bigint AS $$
DECLAREresult bigint;
BEGINEXECUTE 'SELECT x' || quote_literal(hexval) || '::bigint' INTO result;RETURN result;
END;
$$ LANGUAGE plpgsql IMMUTABLE STRICT;
使用该UDF便可以将字符串函数作为参数了:
bill@bill=>select hex_to_int(substring('abcd',1,2));hex_to_int
------------171
(1 row)
参考链接:
https://stackoverflow.com/questions/8316164/convert-hex-in-text-representation-to-decimal-number
PostgreSQL自定义函数实现十六进制转十进制相关推荐
- PostgreSQL自定义函数
PostgreSQL自定义函数 函数语法 实例 动态执行语句 话不多说,下面直接拿实例说话. 函数语法 CREATE [OR REPLACE] FUNCTION function_name (argu ...
- postgresql自定义函数实现,通过contrib模块进行扩展
概要 PostgreSQL从设计上是可扩展的,从用户的角度可以通过四种方式对PostgresSQL进行扩展 query language functions (functions written in ...
- [postgresql]postgresql自定义函数查询ETL作业依赖的实例
--------------------------------------------------- ---需求:查找ETL依赖关系 ---描述:根据作业ID,查找上游依赖的作业ID ---依赖表结 ...
- PHP dechex,PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin(26); / ...
- linux c十六进制转十进制函数,用Linux/Unix命令把十六进制转换成十进制(转)
那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...
- postgreSql按位运算、二进制十进制十六进制的表法和转换
-- postgre 按位运算符 以及结果 注释的后面为结果SELECT 1|2 ; -- 3SELECT 1&2 ; -- 0SELECT 1*2 ; -- 2SELECT 4>> ...
- postgresql中自定义函数脚本的备份及恢复
[转自 housonglin1213 的博客]http://blog.csdn.net/housonglin1213/article/details/51005540 1.自定义函数脚本备份 CREA ...
- oracle十进制函数语法,Oracle 十进制、二进制互相转换自定义函数
Oracle 十进制.二进制相互转换自定义函数 create or replace function number_2_bit(v_num number) return varchar is v_rt ...
- mysql存储过程和自定义函数
2019独角兽企业重金招聘Python工程师标准>>> 存储过程简介 SQL语句需要先编辑后执行,而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储过程在数据库中,用户通过 ...
最新文章
- 构造 ---- D. AB Graph(偶数和3远环的关系)
- dubbo部分常见的面试题目
- 字段定义_两大高招逐浪CMS中定义省地市县三级字段显示方式
- 设计模式-装饰模式(Decorator Pattern)
- MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)
- 排序算法——希尔排序(缩小增量排序)
- 一个普通二叉树的遍历
- gittrack_Git 分支跟踪详解(remote branch tracking)
- Java类加载原理解析(转)
- ucore 地址映射的几个阶段
- 道路照明智能监控用5G智慧灯杆网关
- 制造企业发展遇瓶颈?低代码平台助其逆风翻盘!
- 个人wiki搭建资料整理
- 【数仓】数据仓库高频面试题题英文版(1)
- 计算机主板所采用的cpu接口,主板中的CPU_FAN、SYS_FAN、CPU_OPT、AIO_PUMP是什么接口...
- excel中#N/A的解释同比环比基比画四象限图的小tips字符串截取函数substitute的深入理解
- Miui13-mi10s刷twrp和Magisk
- jsp 按照学号查找学生_怎样做才可以用JSP实现只输入姓名或学号就可以进行查询...
- Laravel 的生命周期
- 李宏毅深度学习视频摘要