Oracle 最大值函数和最小值函数介绍及应用
GREATEST返回一个或多个表达式列表中的最大值。Oracle 数据库使用第一个expr来确定返回类型。如果第一个expr是数字,则 Oracle 确定具有最高数字优先级的参数,在比较之前将其余参数隐式转换为该数据类型,并返回该数据类型。如果第一个不是expr数字,则第一个之后的每个参数都会在比较之前expr隐式转换为第一个的数据类型。expr
Oracle 数据库expr使用非填充比较语义对每个进行比较。默认情况下,比较是二进制的,如果参数NLS_COMP设置为,则比较是语言LINGUISTIC的。字符比较基于数据库字符集中字符的数字代码,并对被视为一个字节序列的整个字符串执行,而不是逐个字符执行。如果此函数返回的值是字符数据,则其数据类型始终为VARCHAR2。
LEAST 函数返回表达式列表中最小的表达式。第一个表达式之后的所有表达式都会隐式转换为比较之前第一个表达式的数据类型。
WITH t AS
(SELECT '刘' a1
,'轶鹤' a2
FROM dual
UNION ALL
SELECT '轶鹤' a
,'刘' b
FROM dual
UNION ALL
SELECT '鹤' a1
,'刘轶' a2
FROM dual
UNION ALL
SELECT '刘轶'
,'鹤'
FROM dual
)
SELECT /*MIN*/
least(a1, a2) || greatest(a1, a2) tag
,t1.*
FROM t t1
WHERE 1 = 1
;
-- 刘轶鹤