簡體   English   中英

Postgres 將數組轉換為自定義類型

[英]Postgres cast Array to a Custom Type

我必須將 varchar 數組轉換為自定義類型,但它失敗了。

設想

CREATE TYPE foo AS (foo text[]);

SELECT ARRAY['TEST_ONE']::foo; -- fails with ERROR: cannot cast type text[] to foo

實際上,我必須將此類型作為可選參數傳遞給函數,因此我必須將其默認值放在函數參數列表中。 像這樣

create function foo_func(par1 foo DEFAULT ARRAY['TEST_ONE']::foo) ....但由於上述問題,這不起作用...

幫助將不勝感激..

很難猜到為什么有人會想用這樣一個奇怪的想法來復雜化他的生活。 無論如何,類型foo是具有單個text[]元素的復合類型,因此文字應該如下所示:

SELECT ROW(ARRAY['TEST_ONE'])::foo;

也許 會更方便:

create domain foo as text[];
select array['test_one']::foo;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM