通常使用 order by 排序某欄位,
若遇到該欄位為null,則排序可能非預期那樣,
這時使用 order by Columns nulls first 即可
example :
create table test
(
vendor_id varchar2(16),
vendor_name varchar(64)
)
-->
insert into test(vendor_id,vendor_name) values('A001','test1');
insert into test(vendor_id,vendor_name) values('A002','');
insert into test(vendor_id,vendor_name) values('A003','test3');
-->
select vendor_id,vendor_name
from test
order by vendor_name asc
執行結果 :
vendor_id vendor_name
A001 test1
A003 test3
A002
Script 改為下列方式
select vendor_id,vendor_name
from test
order by vendor_name asc nulls first
執行結果 :
vendor_id vendor_name
A002
A001 test1
A003 test3
總結 :
nulls first -> 若欄位資料為null,則優先排序
nulls last -> 若欄位資料為null,則反之
沒有留言:
張貼留言