我在各种各样的地方看过::
涉及我在网上看过的postgres代码。例如:
SELECT '{apple,cherry apple, avocado}'::text[];
这似乎是某种演员。 postgres中的::
究竟是什么?何时使用?
我尝试了一些谷歌搜索并搜索Postgres文档::
,但没有取得好成绩。
我尝试在Google中进行搜索:
我在postgres文档搜索按钮中尝试了以下搜索
在SO上询问几乎令人尴尬,但我认为Google希望将来能够为其他人看到这个答案。
答案 0 :(得分:56)
类型转换指定从一种数据类型到另一种数据类型的转换。
PostgreSQL接受两种类型转换的等效语法,即PostgreSQL特定的value::type
和SQL标准CAST(value AS type)
。
在这种特定情况下,'{apple,cherry apple, avocado}'::text[];
采用字符串文字{apple,cherry apple, avocado}
并告诉PostgreSQL将其解释为text
的数组。
有关详细信息,请参阅SQL expressions和arrays上的文档。
答案 1 :(得分:8)
What @PSR and @Craig wrote。
另外,还有两种语法变体:
type value
此表单仅转换常量(字符串文字)。喜欢在:
SELECT date '2013-03-21';
在Constants of Other Types一章的手册中有更多内容。
2.type(value)
这是类似函数的语法。仅适用于名称作为函数名称有效的类型。喜欢在:
SELECT date(date_as_text_col) FROM tbl;
在Type Casts一章的手册中有更多内容。
更全面的回答: