gpt4 book ai didi

postgresql 数组/复合输出

转载 作者:行者123 更新时间:2023-11-29 12:06:09 24 4
gpt4 key购买 nike

在我的应用程序中,我使用 postgresql 返回复合类型值,如下所示:

select row('a','b','c','d');

此查询返回:

(a,b,c,d)

我正在使用更复杂的类型,其中包含其他复合类型的数组等。在我的数据库层中,我解析返回值并从中“解压”数组和其他复合类型。

问题是什么?

select row(array[1,2,3,4]);

select row('{1,2,3,4}');

给出完全相同的输出:

("{1,2,3,4}")

我如何区分此 '{1,2,3,4}' 何时表示为常规字符串(可能由用户提供)以及何时表示为数组?

{} 复合字段值中不应该有转义序列之类的东西吗?

附言我不能使用像 select * from row[1,2,3] 这样的东西。

最佳答案

确定列类型的最安全方法是查询结果集元数据。

我不能告诉你怎么做,因为你没有指定你的框架/语言。通常,您需要扩展一些结果集类并在那里解决这种歧义。

关于postgresql 数组/复合输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com