当前位置:   article > 正文

PostgreSQL对空值处理nullif函数_pgsql ifnull

pgsql ifnull
  1. nullif(var1,var2)
  2. 如果var1和var2相等则返回null,如果不相等则返回var1
  3. select nullif(1,null); 结果:1
  4. select nullif(null,1); 结果:null
  5. select nullif(1,1); 结果:null
  6. select nullif(1,0); 结果:1
  7. create table posts(
  8. id serial primary key,
  9. title varchar(255) not null,
  10. excerpt varchar(255),
  11. body text,
  12. create_tiem timestamp default current_timestamp,
  13. update_time timestamp
  14. );
  15. insert into posts(title,excerpt,body) values
  16. ('test post 1','test post excerpt 1','test post body 1'),
  17. ('test post 2','','test post body 2'),
  18. ('test post 3', null ,'test post body 3');
  19. 案例1
  20. select id,title ,excerpt from posts;
  21. 结果:由结果得知excerpt有空值null
  22. id title excerpt
  23. 1 test post 1 test post excerpt 1
  24. 2 test post 2
  25. 3 test post 3 [null]
  26. 案例2
  27. select id,title,coalesce(
  28. excerpt,
  29. left(body,40)
  30. )
  31. from posts;
  32. 结果:由结果得知null值的会做处理,但是对于''是不做处理的
  33. id title excerpt
  34. 1 test post 1 test post excerpt 1
  35. 2 test post 2
  36. 3 test post 3 test post body 3
  37. 案例3
  38. select id,title,coalesce(
  39. nullif(excerpt,''),
  40. left(body,40)
  41. )
  42. from posts;
  43. 结果:由结果得知null值和''的都会做处理,因为使用了nullif函数
  44. id title excerpt
  45. 1 test post 1 test post excerpt 1
  46. 2 test post 2 test post body 2
  47. 3 test post 3 test post body 3
  48. left函数:
  49. 返回最左面 n 字符
  50. select left('abcdefgh', 5); 结果:abcde
  51. right函数:
  52. 返回最右面 n 个字符
  53. select right('abcdefgh', 3); 结果:fgh
  54. rpad函数:
  55. 字符不满 10 个,用 # 补满
  56. select rpad('abcd', 10, '#'); 结果:abcd######
  57. 备注:COALESCE(currentcount,0)
  58. 如果currentcount不为null,返回currentcount。否则返回0
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/974703
推荐阅读
相关标签
  

闽ICP备14008679号