在PostgreSQL中做什么?

我曾经在网上看过关于postgres代码的各种地方。 例如:

 SELECT '{apple,cherry apple, avocado}'::text[]; 

这似乎是某种表演。 什么是在postgres ::什么时候应该使用?

我尝试了一些Googlesearch,并search了Postgres的文档::但没有得到好的结果。
我在Google中尝试了以下search:

  • postgres双冒号
  • postgres ::
  • ::

我在postgres文档searchbutton中尝试了以下search

  • 双冒号
  • 双冒号投
  • ::

这对于问这个问题几乎是尴尬的,但我认为谷歌有希望在未来为其他人看到这个答案。

types转换指定从一种数据types到另一种数据types的转换。

PostgreSQL接受两种types转换的等效语法,特定于PostgreSQL的value::type和SQL标准CAST(value AS type)

在这个具体的例子中, '{apple,cherry apple, avocado}'::text[]; 需要string文字{apple,cherry apple, avocado}并告诉PostgreSQL将其解释为一个text数组

有关详细信息,请参阅SQLexpression式和数组的文档。

@PSR和@Craig写了什么 。
另外,还有两种语法变体

1. type value

这个表单只会转换常量(string文字)。 像:

 SELECT date '2013-03-21'; 

其他types常量章节中的更多内容。

2. type(value)

这是类似于函数的语法。 仅适用于名称作为函数名称有效的types。 像:

 SELECT date(date_as_text_col) FROM tbl; 

更多内容请参见“ types转换 ”一章中的手册。