如何在PostgreSql数据中SELECT的时候A字段如果内容空就返回B字段的内容?

0
PostgreSQL 数据库 1629 次浏览

   content表有一个body字段和clean_body字段,单独获取body很容易用,select body from content就可以了,最近业务需要扩展了一个clean_body字段,用来存放body清洗后的数据。现在业务逻辑就是在clean_body中内容为空时,自动到body中去获取数据。

   如果直接将两个字段的内容都读出(select body,clean_body from content)然后在代码中自己判断也是可以的,这样做总觉得怪怪的,如果在数据库一层就可以做到的话是最完美的!

请尽量让自己的答案能够对别人有帮助

1个答案

默认排序 按投票排序
1

你用下面这个SQL语句试试看:

SELECT (CASE WHEN (clean_body IS NULL OR clean_body = '') THEN body ELSE clean_body END) as body FROM content;