如何在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
fiddle
关于sql - 如何在Postgres中将表列数据从“姓氏,名字”转换为“名字姓氏”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25303405/