postgresql 18版bytea 类型转换的改进

文档看到如下例子

复制代码
此外,还可以将整数值转换为 bytea 类型,反之亦然。将整数转换为 bytea 会根据整数类型的宽度生成 2、4 或 8 个字节。结果是整数的二补数表示,最高有效字节在前。一些示例:

1234::smallint::bytea          \x04d2
cast(1234 as bytea)            \x000004d2
cast(-1234 as bytea)           \xfffffb2e
'\x8000'::bytea::smallint      -32768
'\x8000'::bytea::integer       32768

测试了一下,确实如此

复制代码
psql (18.0 (Debian 18.0-1.pgdg13+3))
Type "help" for help.

postgres=# select 1234::bytea;
   bytea
------------
 \x000004d2
(1 row)

postgres=# select 1234::smallint::bytea;
 bytea
--------
 \x04d2
(1 row)

作为比较,17.7版不支持以上操作, 只支持把字符串转换为bytea 类型

复制代码
postgres=# select 1234::smallint::bytea;
ERROR:  cannot cast type smallint to bytea
LINE 1: select 1234::smallint::bytea;
                             ^
postgres=# select 1234::bytea;
ERROR:  cannot cast type integer to bytea
LINE 1: select 1234::bytea;
                   ^
postgres=# select '1234'::bytea;
   bytea
------------
 \x31323334
(1 row)

postgres=# select 1234::smallint::text::bytea;
   bytea
------------
 \x31323334
(1 row)
相关推荐
a7963lin几秒前
html标签怎样表示搜索框_input type=search语义优化【操作】
jvm·数据库·python
a7963lin4 分钟前
Python数据分析如何识别异常值_IQR四分位距检测法实战
jvm·数据库·python
m0_613856296 分钟前
如何解决宝塔面板Web端文件管理器打开目录时反应极其缓慢
jvm·数据库·python
阿丰资源12 分钟前
基于Spring Boot的新闻推荐系统(源码+数据库+文档)
数据库·spring boot·后端
m0_6138562919 分钟前
mysql如何优化重复索引_mysql冗余索引查找与处理
jvm·数据库·python
四维迁跃20 分钟前
Python Web开发如何防范SQL注入_使用参数化查询与ORM实践
jvm·数据库·python
2401_8330336227 分钟前
如何自动更新SQL标签状态_利用触发器实现基于逻辑的状态机
jvm·数据库·python
2401_8314194431 分钟前
mysql如何优化数据库文件写入速度_配置innodb刷盘策略
jvm·数据库·python
YaBingSec41 分钟前
玄机网络安全靶场:Hadoop YARN ResourceManager 未授权 RCE WP
大数据·数据库·hadoop·redis·笔记·分布式·web安全
m0_6356474841 分钟前
Qt打包含有第三方库的软件为应用程序——CQtDeployer
开发语言·数据库·qt