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);
 
                