我有一个使用像
这样的子选择的查询SELECT "columnA","columnB", (SELECT column1 FROM tableB WHERE id=1 LIMIT 1) as text
FROM tableA WHERE id=1
现在我只想从我的"中获取最后3个字符作为文字"柱。我试图在我的子选择中应用子串或者右边但是返回错误,任何人都可以解释为什么以及如何正确地执行此操作?
答案 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标准,那么您仍将在此查询的变量文本中获得相同的值。