如何在 Postgres 中将表列数据从“LastName, FirstName”转换为“FirstName LastName”。
因此,如果表列包含“Ona, Lisa”,我希望它返回“Lisa Ona”。如果该列不包含“,”,那么我希望它返回 null。我一直在尝试使用 postgres 函数 SUBSTRING 和 REGEXP_REPLACE,但无法正常工作。
最佳答案
您需要 strpos
和 substr
函数以及一个 CASE
来返回 NULL
。
SELECT CASE WHEN strpos(name,', ') > 0
THEN substr(name,strpos(name,', ') + 2) ||' ' || substr(name,0, strpos(name,', '))
ELSE NULL END
FROM person
关于sql - 如何在 Postgres 中将表列数据从 'LastName, FirstName' 转换为 'FirstName LastName',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25303405/