最近在寫專案,拼接sql時,發現好多關於null值的問題,現在把這些問題整理出來,以供日後參考。
對於oracle資料庫:
一、排序
oracle對於null值的排序,有乙個函式可以進行操作: 在預設情況下,oracle將null值定義為最大值,所以在排序時,null值總是位於最前(desc)或最後(asc);
好在oracle提供了乙個可以自定義的null,使用nulls first或者nulls last,使用者可以對null值的排序位置進行調控,且此函式不受desc或asc的影響;
二、條件查詢
在使用動態sql進行條件查詢時,如果乙個列中包含有null值的話,當使用=或者!=等操作符進行篩選時,null是不包含在篩選結果中的。
select * from table where state != 1
這句sql查詢的結果中,是不包含state=null的情況的。
而且,在對state為null的查詢,是不能使用state=null來查的,必須使用state is null來查詢。
三、函式in和not in的情況
這兩個函式對於null值都不感冒,但是處理的方式有點區別:
1、對於in函式,當條件集中包含null時,函式只對非null值進行匹配,對於null值是視而不見的,所以查詢結果並不是預期結果;
select * from test where type in ('2', null );
2、對於not in函式,當條件集中包含null時,查詢結果必為空集,沒有任何匹配出現;
select * from test where type not in ('2', null );
使用Access資料庫的幾個問題
在visual studio 2015中,使用c 語言編制程式時,經常要引用access資料庫,在實踐中,我感到要注意以下幾個問題 一.資料更新的前提 在使用access資料庫時,應注意把屬性 複製到輸出目錄 從 始終複製 改為 如果較新則複製 否則,updatequry命令不能執行。二.處理系統更...
關於監控資料的幾個問題。
監控系統之資料儲存 關於監控資料的儲存問題,是乙個典型的大資料儲存的例子,系統設計的時候的乙個很重要的的工作的就是容量規劃 至少有如下幾點需要嚴謹的測算 1 整個系統需要面臨的流量壓力 qps 網路流量等 2 需要儲存的資料量 每天新增的資料量,穩定的總資料量 3 最常用的查詢方式 進而需要根據測算...
資料庫的null值
資料庫的null值給我開了乙個小玩笑,同時我也記住了以後遇到這種問題要怎麼處理了。在我的link表中backupid欄位只有2個值 2 和null。現在我想排除掉backupid字段值為2的記錄,剩下所有為null的記錄。我在pl sql中執行如下語句,得不得任何記錄結果 select from l...