5.2.3 排序时对NULL值的处理

NULL值在排序过程中是个比较特殊的值类型,默认情况下排序时把它看成最大值。也就是说,当排序的记录中出现NULL值时,默认情况下,升序排列时它在最后,降序排列时它在首位。其实NULL值在排序时,具体在前还是在后开发人员是可以指定的。

【示例9】升序时NULL值在首位

进行升序排列时要求数量为NULL的值排在首位。脚本如下:


SELECT productname,quantity FROM productinfo ORDER BY quantity NULLS FIRST;


【执行效果】

执行效果见图5.10。

5.2.3 排序时对NULL值的处理 - 图1

图 5.10 NULL值在首位

【示例10】降序时NULL值在末位

进行降序排列时要求数量为NULL的值排在末位。脚本如下:


SELECT productname,quantity FROM productinfo ORDER BY quantity NULLS LAST;


【执行效果】

执行效果见图5.11。

5.2.3 排序时对NULL值的处理 - 图2

图 5.11 NULL值在末位