如何拆分 postgresql 中的字符串和 return 另一个字符串(如果为空)
How to split a string in postgresql and return another string if empty
我有一列需要根据“:”前后的内容分成两列。如果没有 ':',我需要第二列来读取 'None'.
示例:
original_a: 在美国昏昏欲睡:为什么我们很累以及如何应对
标题:困在美国
副标题: 为什么我们很累,该怎么办
original_b:冥想与谈话疗法
标题:冥想与谈话疗法
副标题:'None'
我尝试了子查询
SELECT headline,
CASE WHEN subtitle = ' ' THEN 'None' ELSE subtitle END as subtitle
FROM (
SELECT split_part(headline, ':', 1) as headline, split_part(headline, ':', 2) as subtitle
FROM table) as subquery
这可以很好地拆分原始列,但不会 return 'None' 当没有第二部分时。
我如何return'None'?谢谢
我有一列需要根据“:”前后的内容分成两列。如果没有 ':',我需要第二列来读取 'None'.
示例:
original_a: 在美国昏昏欲睡:为什么我们很累以及如何应对 标题:困在美国 副标题: 为什么我们很累,该怎么办
original_b:冥想与谈话疗法 标题:冥想与谈话疗法 副标题:'None'
我尝试了子查询
SELECT headline,
CASE WHEN subtitle = ' ' THEN 'None' ELSE subtitle END as subtitle
FROM (
SELECT split_part(headline, ':', 1) as headline, split_part(headline, ':', 2) as subtitle
FROM table) as subquery
这可以很好地拆分原始列,但不会 return 'None' 当没有第二部分时。
我如何return'None'?谢谢