首页 > 解决方案 > 如何比较postgresql中的ctid?

问题描述

我正在尝试使用 postgresql 学习 SQL。我想选择具有尊重 ctid 的特定行。我怎样才能做到这一点 ?

当我运行以下查询时:-

select ctid,* from t01 where ctid = (0,11);

我收到此错误:-

operator does not exist: tid = record
LINE 1: select ctid,* from t01 where ctid = (0,11)
                                          ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.

那么如何比较 (postgre)sql 中的 ctids 呢?

标签: sqlpostgresqlcomparison

解决方案


您可以简单地使用= '(0,1)'

#= select ctid,* from t where ctid = '(0,1)';
┌───────┬───┐
│ ctid  │ i │
├───────┼───┤
│ (0,1) │ 1 │
└───────┴───┘
(1 row)

推荐阅读