Estou tentando encontrar uma representação de string do tstzrange[]
tipo (matriz de intervalos de carimbo de data/hora):
select '{[2014-01-01,2015-01-01]}'::tstzrange[];
select '{''[2014-01-01,2015-01-01]''}'::tstzrange[];
select '{[''2014-01-01'',''2015-01-01'']}'::tstzrange[];
Mas cada uma das consultas acima gera um malformed range literal
erro.
Eu sei que posso usar, array[tstzrange('2014-01-01','2015-01-01','[]')]
mas o que eu preciso é uma representação de string.
O problema é que aqui você tem que combinar dois literais:
'{}'
para o array e'[...,...]'
para o tipo de intervalo.Em todos esses casos, o mais fácil é recuperar a saída do próprio sistema:
Agora você simplesmente coloca isso entre aspas, e aí está.
Existe, no entanto, uma maneira mais simples, que geralmente funciona: basta colocar aspas duplas no literal interno. Ver:
Observe que a saída é a mesma que acima.