这在Postgresql:xmax::text::int中起什么作用;0

这在Postgresql:xmax::text::int中起什么作用;0,sql,postgresql,postgresql-9.5,Sql,Postgresql,Postgresql 9.5,Postgres中以下陈述的含义和目的是什么: xmax::text::int > 0 这看起来像是先转换为文本,然后再转换为整数???Postgres中的每个表都有几个非标准的、Postgres特有的功能,使用这些功能需要了解Postgres内部的基本知识 列xmax基本上包含0或一些事务编号。但是,该值不能直接与数字进行比较,因为该列的类型为xid,尚未定义相应的运算符。因此,有必要使用铸造 比较也可以写成 xmax::text <> '0' xmax::文本“0”

Postgres中以下陈述的含义和目的是什么:

xmax::text::int > 0

这看起来像是先转换为文本,然后再转换为整数???

Postgres中的每个表都有几个非标准的、Postgres特有的功能,使用这些功能需要了解Postgres内部的基本知识

xmax
基本上包含0或一些事务编号。但是,该值不能直接与数字进行比较,因为该列的类型为
xid
,尚未定义相应的运算符。因此,有必要使用铸造

比较也可以写成

xmax::text <> '0'
xmax::文本“0”
表达式的含义可从列描述中推断:

最大值

删除事务的标识(事务ID),对于未删除的行版本,为零。此列在可见行版本中可能不为零。这通常表示删除事务尚未提交,或者尝试的删除已回滚


Postgres中的每个表都有几个表,它们是非标准的、Postgres特有的功能,使用这些表需要了解Postgres内部的基本知识

xmax
基本上包含0或一些事务编号。但是,该值不能直接与数字进行比较,因为该列的类型为
xid
,尚未定义相应的运算符。因此,有必要使用铸造

比较也可以写成

xmax::text <> '0'
xmax::文本“0”
表达式的含义可从列描述中推断:

最大值

删除事务的标识(事务ID),对于未删除的行版本,为零。此列在可见行版本中可能不为零。这通常表示删除事务尚未提交,或者尝试的删除已回滚


这似乎就是它正在做的事情。我希望
xmax>0
xmax::int>0
是等效的。有时不能直接从一种类型转换到另一种类型(特别是自定义类型),因此,您必须先转换为文本,然后再转换为所需的类型。
xmax::text::int
这是因为
xmax
具有类型
xid
,不能直接转换为
integer
值(查看或其他地方)此条件的含义:
行已更新。关于这个话题,有一个非常好的答案,并加以解释:这似乎就是它正在做的事情。我希望
xmax>0
xmax::int>0
是等效的。有时不能直接从一种类型转换到另一种类型(特别是自定义类型),因此,您必须先转换为文本,然后再转换为所需的类型。
xmax::text::int
这是因为
xmax
具有类型
xid
,不能直接转换为
integer
值(查看或其他地方)此条件的含义:
行已更新。关于这个主题,有一个非常好的答案和解释:这解释了xmax::text,但is::int的用途是什么?为什么要从上面的答案中双击max::int“0”@Jimski:
这个值不能直接与数字进行比较,因为列的类型是xid,没有定义相应的运算符。任何(?)都可以转换为文本,因此转换为文本,然后转换为int。这解释了xmax::text,但是::int的用途是什么?为什么要从上面的答案中双击max::int“0”@Jimski:
这个值不能直接与数字进行比较,因为列的类型是xid,没有定义相应的运算符。任何(?)都可以转换为文本,因此转换为文本,然后转换为int。