Postgresql postgres,子字符串a subselect

Postgresql postgres,子字符串a subselect,postgresql,subquery,Postgresql,Subquery,我有一个使用如下子选择的查询 SELECT "columnA","columnB", (SELECT column1 FROM tableB WHERE id=1 LIMIT 1) as text FROM tableA WHERE id=1 现在我只想从我的“as text”列中获取最后3个字符。我尝试在我的subselect周围应用子字符串或右键,但返回了一个错误,有人能解释为什么以及如何正确地执行此操作吗?您需要使用与POSIX正则表达式匹配的内部函数子字符串 SELECT "colum

我有一个使用如下子选择的查询

SELECT "columnA","columnB", (SELECT column1 FROM tableB WHERE id=1 LIMIT 1) as text
FROM tableA WHERE id=1

现在我只想从我的“as text”列中获取最后3个字符。我尝试在我的subselect周围应用子字符串或右键,但返回了一个错误,有人能解释为什么以及如何正确地执行此操作吗?

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

SELECT "columnA","columnB", (SELECT substring(column1::TEXT from '...$') FROM tableB WHERE id=1 LIMIT 1) as text
FROM tableA WHERE id=1
请记住,通过这种方式,如果tableA中有多条记录与WHERE条件相匹配,那么对于此查询,变量文本中的值仍然相同