当前位置:   article > 正文

PostgreSQL中 nullif函数和coalesce函数使用方法_pgsql nullif

pgsql nullif

NULLIF函数:如果提供的表达式相等,nullif 函数返回一个空值。

                       否则,它将返回第一个表达式作为结果。 

  1. --nullif function returns a null value if provided expressions are equal.
  2. --If two expressions provided are equal, then it provides a null value;
  3. --otherwise, it will return the first expression as a result.
  4. select nullif(50,50);
  5. --输出结果
  6. NULL
  7. select nullif('','');
  8. select nullif(null,null);
  9. --输出结果
  10. NULL
  11. select nullif('50', null)
  12. --输出结果
  13. 50
  14. select nullif(null, '50')
  15. --输出结果
  16. NULL
  17. select nullif(null, '')
  18. --输出结果
  19. NULL
  20. select nullif('', null)
  21. --输出结果
  22. 空字符串

 coalesce函数:返回第一个非空值

  1. --COALESCE (Argument1, Argument2,….,ArgumentN);
  2. --COALESCE returns as first non-null value as a result
  3. --coalesce返回第一个非空值
  4. select coalesce(null, 50);
  5. select coalesce(50, null);
  6. --返回结果均为50
  7. select coalesce(null,null);
  8. --返回NULL
  9. select coalesce('','');
  10. --返回空字符串
  11. select coalesce (NULL, 20, 30, 40, 50);
  12. --返回20
  13. select coalesce(null, '')
  14. --返回空字符串

一般将两者结合起来使用

  1. --如果columnA字段为NULL或者是空字符串'',使用nullif函数首先将其与空字符串'',得到NULL
  2. --因为如果ColumnA为NULL, 则nullif(NULL,'')为NULL
  3. --因为如果ColumnA为'', 则nullif('','')为NULL
  4. --结合coalesce函数取第一个非空值,则可以得到字符串'0'
  5. select coalesce(nullif(columnA, ''), '0')

参考链接:https://www.educba.com/postgresql-nullif/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/386742
推荐阅读
  

闽ICP备14008679号