在Oracle中,使用 ORDER BY 语法按字符串进行排序
ASC或DESC关键字:指定升序或降序排序,默认情况下,排序是升序的。
NULLS FIRST 或 NULLS LAST 关键字:指定对空值的处理方式,默认情况下,空值排在最后。
-- 按升序排序,空值排在最后
SELECT column_name
FROM table_name
ORDER BY column_name ASC NULLS LAST;
RTRIM函数:去除字符串右侧的空格。
-- 去除右侧空格后按升序排序,空值排在最后
SELECT column_name
FROM table_name
ORDER BY RTRIM(column_name) ASC NULLS LAST;
LTRIM函数:去除字符串左侧的空格。
-- 去除左侧空格后按升序排序,空值排在最后
SELECT column_name
FROM table_name
ORDER BY LTRIM(column_name) ASC NULLS LAST;
UPPER函数:将字符串转换为大写字母进行排序。
-- 转换为大写字母后按升序排序,空值排在最后
SELECT column_name
FROM table_name
ORDER BY UPPER(column_name) ASC NULLS LAST;
LOWER函数:将字符串转换为小写字母进行排序。
-- 转换为小写字母后按升序排序,空值排在最后
SELECT column_name
FROM table_name
ORDER BY LOWER(column_name) ASC NULLS LAST;
INITCAP函数:将字符串的首字母转换为大写,其余字母转换为小写进行排序。
-- 首字母大写,其余字母小写后按升序排序,空值排在最后
SELECT column_name
FROM table_name
ORDER BY INITCAP(column_name) ASC NULLS LAST;
SORT_NUMBER函数:将字符串按照数字顺序进行排序。
-- 按数字顺序排序,空值排在最后
SELECT column_name, SORT_NUMBER(column_name) AS sorted_number
FROM table_name
ORDER BY sorted_number ASC NULLS LAST;