今天我想定义一个 uuid 的 value 00000000-0000-0000-0000-000000000000
。作为一名 SQL Server 人员,我通常会...
select cast(0x0 as uniqueidentifier);
...但我现在在 postgres 世界里,所以我拿出了一个明智的...
select cast('\x00'::bytea as uuid);
ERROR: cannot cast type bytea to uuid
LINE 1: select cast('\x00'::bytea as uuid);
^
该死!因此,我前往有关类型转换的 postgres 文档,希望看到像这样的文档来查看默认情况下我可以在哪些数据类型之间进行转换,而无需创建显式转换。
如果文档中确实存在这样的图表,则它被很好地隐藏了。谷歌在这方面同样不是很有帮助。
对于 postgresql 中的默认允许类型转换,是否有很好的文档参考?
需要明确的是,我实际上并不关心 uuid
您可以使用
psql
客户端获取列表这将显示系统数据类型之间定义的所有转换。
此外,所有类型都可以
text
使用类型输入和输出函数进行转换。作为对Laurenz 帖子的补充...
从文档:
\set ECHO_HIDDEN on
显示\dCS+
正在执行......这为我们指出了一些更有趣的文档页面。
pg_cast
- 列出允许强制转换的基本系统表pg_type
- 数据类型的基本系统表参考format_type()
- 美化功能pg_type
。有助于将专有名称映射到在数据类型参考表中看到的别名