Oracle中的Max(varchar2)表达式结果和行为

时间:2014-12-03 12:45:43

标签: sql oracle

如果我在max()字段上使用varchar2,它将在oracle中返回什么内容?

前:

SELECT max(name) 
FROM users; 

4 个答案:

答案 0 :(得分:0)

它将按字母数字选择最高值。

此处提供更多信息 https://docs.oracle.com/cd/B19306_01/server.102/b14225/ch5lingsort.htm

答案 1 :(得分:0)

将返回以下查询的结果。

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

此结果取决于您的NLS_SORT设置。在我的数据库中,它返回一个以“ş”开头的名称。

答案 2 :(得分:0)

Oracle将使用词典顺序。看到这个SQL小提琴:

http://sqlfiddle.com/#!4/585a7/1

答案 3 :(得分:0)

它将返回将出现在最后一行的名称值:

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

或者如果没有非null名称值,它将返回null。