Oracle中文一二三四排序【失败】
原文地址:
Oracle数据库如何对中文的一二三四五六七八九十数进行正序排列排序_中文数字排序-CSDN博客
自定义排序函数
-- 自定义中文映射阿拉伯数字函数
CREATE OR REPLACE FUNCTION P_ORDER_CHINESE_TO_ARABIC(V_NUM VARCHAR2)
RETURN NUMBER
IS
BEGIN
-- 根据不同的中文数字,映射到对应的阿拉伯数字
CASE V_NUM
WHEN '一' THEN RETURN 1;
WHEN '二' THEN RETURN 2;
WHEN '三' THEN RETURN 3;
WHEN '四' THEN RETURN 4;
WHEN '五' THEN RETURN 5;
WHEN '六' THEN RETURN 6;
WHEN '七' THEN RETURN 7;
WHEN '八' THEN RETURN 8;
WHEN '九' THEN RETURN 9;
WHEN '十' THEN RETURN 10;
-- ... 其他数字可继续添加
END CASE;
END;
/
使用
-- 使用示例
SELECT * FROM T_TABLE_NAME ORDER BY P_ORDER_CHINESE_TO_ARABIC(column_name);