Postgres 值具有我无法识别的特征

问题描述

目前我有一个表,我正在将其迁移到更高版本的 postgres DB。在迁移过程中,我们遇到了违反约束的情况。我们在它工作的目标数据库中不受约束地迁移。我的查询下面的 id 导致错误将它从日志中拉出来。

select * from test where id like 'test1%';

上面的查询返回两条记录和

select char_length(id),* from test where id like 'test1%';

上面的查询返回两个char_length相同的记录

select * from test where id = 'test1 ';

以上查询返回零条记录

那么最后出现的字符是什么。请指教

解决方法

我假设字符串的长度是6。你可以用

得到第六个字符和它的十六进制编码值
SELECT substr(id,6,1),CAST(substr(id,1) AS bytea)
FROM test
WHERE id LIKE 'test1%';