postgres,substring subselect

时间:2014-10-02 13:06:28

标签: postgresql subquery

我有一个使用像

这样的子选择的查询
SELECT "columnA","columnB", (SELECT column1 FROM tableB WHERE id=1 LIMIT 1) as text
FROM tableA WHERE id=1

现在我只想从我的"中获取最后3个字符作为文字"柱。我试图在我的子选择中应用子串或者右边但是返回错误,任何人都可以解释为什么以及如何正确地执行此操作?

1 个答案:

答案 0 :(得分:1)

您需要使用匹配POSIX正则表达式的内部函数子字符串

SELECT "columnA","columnB", (SELECT substring(column1::TEXT from '...$') FROM tableB WHERE id=1 LIMIT 1) as text
FROM tableA WHERE id=1

请记住,如果您在tableA中有超过1条记录符合您的WHERE标准,那么您仍将在此查询的变量文本中获得相同的值。