5.2.3 排序时对NULL值的处理
NULL值在排序过程中是个比较特殊的值类型,默认情况下排序时把它看成最大值。也就是说,当排序的记录中出现NULL值时,默认情况下,升序排列时它在最后,降序排列时它在首位。其实NULL值在排序时,具体在前还是在后开发人员是可以指定的。
【示例9】升序时NULL值在首位
进行升序排列时要求数量为NULL的值排在首位。脚本如下:
SELECT productname,quantity FROM productinfo ORDER BY quantity NULLS FIRST;
【执行效果】
执行效果见图5.10。
图 5.10 NULL值在首位
【示例10】降序时NULL值在末位
进行降序排列时要求数量为NULL的值排在末位。脚本如下:
SELECT productname,quantity FROM productinfo ORDER BY quantity NULLS LAST;
【执行效果】
执行效果见图5.11。
图 5.11 NULL值在末位