问题(为了解释我的问题而大大简化):
在 Postgres 中,我试图将表中的三列合并为视图中的一列,但是在 ipaddresses 的末尾添加斜线符号时,我不想要它(注意:斜线符号不在 IP 地址的末尾在我的桌子上开始)。
我在做什么:
在我的表中,我有一个名为“ipaddress”的列,其类型为“inet”。
在我的表中,我有一个名为“名字”的列,它是“文本”类型。
在我的表中,我有一个名为“年龄”的列,它是“整数”类型。
在视图中使用以下 sql 语句,我试图将这三列合并为一列:
SELECT (thetablename.ipaddress || thetablename.firstname || thetablename.age)
AS personal_details
FROM thetablename
这一切都很完美,并将三列合并为一列,但是对于 ipaddresses,它会在其末尾添加斜杠符号,如下所示:
我得到的输出:
-------------------------
personal_details
-------------------------
192.168.0.199/32 Dave 65 <-- as you can see it is adding /32 but i do not want it to
192.168.0.100/32 Paul 56
192.168.0.121/32 Lucy 28
我似乎无法阻止它在 IP 地址的末尾添加“/32”斜杠符号。
我试过明确指定类型,但这没有效果:
SELECT (thetablename.ipaddress::inet || thetablename.firstname::text || thetablename.age::integer)
AS personal_details
FROM thetablename
一定有一些明显的东西我忽略了,但无法弄清楚它是什么。