我在postgres.org电子邮件中找到了一个表达式,这看起来很有用,但是我找不到它的文档.
select t.*::text from t
Run Code Online (Sandbox Code Playgroud)
这里,::text强制转换似乎适用于每一列,而psql显示的结果输出有点奇怪.也许有人可以教育像我这样的人,解开那个谜团.
编辑:最后!相关文档见4.2.13.行构造函数
我可以描述正在发生的事情。考虑这个语法:
select (1, 2)
Run Code Online (Sandbox Code Playgroud)
这将返回一个包含两列的记录(或元组)。您可以使用cast()或将元组转换为文本:::
select (1, 2)::text
Run Code Online (Sandbox Code Playgroud)
同样的事情发生在t.*. 它被解释为:
select (t.*)::text
Run Code Online (Sandbox Code Playgroud)
你会得到相同的结果:
select cast(t.* as text)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
562 次 |
| 最近记录: |