SQL(Oracle)


1. coalesce 

coalesce函数可以将空值转换为实际值。

 SELECT coalesce(name,'noname') FROM user;

相比于nvl,coalesc支持多参数,按照参数排序,优先返回第一个不为空的值。

SELECT coalesce(name,nick_name,'noname') FROM user;

如果要使用nvl的话就会变成下面这样:

SELECT nvl(name,nvl(nick_name,'noname')) FROM user;

2. OREDE BY 数字 ASC

结果集排序时,除了写出具体的字段名,也可以用数字代替

SELECT name,age FROM user order by 2 ASC;
SELECT name,age FROM user order by age ASC;

上面的语句是等效的。这种写法非常适用于取值不定的时候,比如淘宝搜索结果排序,可以按价格,销量等排序

3. NULLS FIRST,NULLS LAST

在Oracle当中空值默认排序在后面,想要排到前面可以使用 NULLS FIRST,NULLS LAST。

SELECT name,age FROM user ORDER BY 2  NULLS FIRST;

未完待续…

文章仅在黑客派和本网站刊登,其他为盗载。