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