程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PostgreSQL空值null參與運算的處理方法

PostgreSQL空值null參與運算的處理方法

編輯:關於PHP編程

PostgreSQL空值null參與運算的處理方法



在數字加減乘除運算中遇到某個字段值為空值(null)的時候,輸出的結果往往會讓我們失望,得不到我們所期待的數值,可以通過 coalesce方式將凡是取值為null,即空值的字段轉換成默認的值進行運算,從而改善運算效果。

coalesce函數用法: coalesce(字段名,默認值),很簡單吧~

演示如下: [root@dbserver ~]# su - postgres -bash-3.2$ psql music psql (9.5beta2) 輸入 "help" 來獲取幫助信息. music=# create table test_null(id int,num1 int,num2 int); CREATE TABLE

插入數據,有的取值為正常數字,有的則為空值null: music=# insert into test_null values(1,100,100); INSERT 0 1 music=# insert into test_null values(2,200,200); INSERT 0 1 music=# insert into test_null values(3,null,100); INSERT 0 1 music=# insert into test_null values(4,300,null); INSERT 0 1 music=# insert into test_null values(5,null,500); INSERT 0 1

查看一下表中的數據,發現null值的字段全部為空值: music=# select * from test_null; id | num1 | num2 ----+------+------ 1 | 100 | 100 2 | 200 | 200 3 | | 100 4 | 300 | 5 | | 500 (5 行記錄)



直接運算查看結果,會發現凡是遇到空值的運算結果均為空: music=# select num1+num2 from test_null; ?column? ---------- 200 400 (5 行記錄)



使用 coalesce函數之後便可處理null的問題: music=# select coalesce(num1,0)+coalesce(num2,0) from test_null; ?column? ---------- 200 400 100 300 500 (5 行記錄)

在這裡,coalesce設置的默認值為0,同樣也可以設置為其他的數值,比如人體體溫可以設置默認值為36,冰點為0,沸點為100等。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved