问题描述
目前我有一个表,我正在将其迁移到更高版本的 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%';