2014-12-03 19 views
0

如果我在varchar2字段上使用max(),它會在oracle中返回什麼?max(varchar2)在oracle中的表達式結果和行爲

例:

SELECT max(name) 
FROM users; 
+0

它根據排序規則排序值 - 基本上所有情況下都按字母順序排列。 – 2014-12-03 12:58:02

+1

當你嘗試時發生了什麼? – 2014-12-03 12:58:22

回答

0

它將返回下面的查詢結果。

SELECT * FROM 
(
    SELECT name FROM users 
    WHERE name IS NOT NULL 
    ORDER BY name DESC 
) 
WHERE ROWNUM = 1 

此結果取決於您的NLS_SORT設置。在我的數據庫中,它返回一個以「ş」開頭的名字。

0

它會返回將出現的最後一行名的值:

select name 
from users 
where name is not null 
order by name; 

,或者如果沒有非空name值將返回空值。