CREATE TABLE TB_STROKE(WORD VARCHAR2(2),STROKE_COUNT NUMBER(2,0));
INSERT INTO TB_STROKE(WORD,STROKE_COUNT)
SELECT '一',1 FROM DUAL
UNION ALL
SELECT '二',2 FROM DUAL
UNION ALL
SELECT '口',3 FROM DUAL
UNION ALL
SELECT '木',4 FROM DUAL
UNION ALL
SELECT '禾',5 FROM DUAL
UNION ALL
SELECT '众',6 FROM DUAL
UNION ALL
SELECT '沐',7 FROM DUAL
UNION ALL
SELECT '和',8 FROM DUAL
UNION ALL
SELECT '骨',9 FROM DUAL
UNION ALL
SELECT '徐',10 FROM DUAL
UNION ALL
SELECT '曹',11 FROM DUAL
UNION ALL
SELECT '彭',12 FROM DUAL
UNION ALL
SELECT '亂',13 FROM DUAL
UNION ALL
SELECT '僊',14 FROM DUAL
UNION ALL
SELECT '僵',15 FROM DUAL
UNION ALL
SELECT '亸',16 FROM DUAL
UNION ALL
SELECT '償',17 FROM DUAL
UNION ALL
SELECT '儭',18 FROM DUAL
UNION ALL
SELECT '儳',19 FROM DUAL
UNION ALL
SELECT '儶',20 FROM DUAL
UNION ALL
SELECT '儷',21 FROM DUAL
UNION ALL
SELECT '亹',22 FROM DUAL
UNION ALL
SELECT '儽',23 FROM DUAL
UNION ALL
SELECT '儾',24 FROM DUAL
UNION ALL
SELECT '囔',25 FROM DUAL;
超过25的如下:
圞
灥
囖
爨
厵
灩
灪
爩
齾
齉
靐
用法
SELECT MAX(STROKE_COUNT)+1 FROM TB_STROKE where nlssort(WORD,'NLS_SORT=SCHINESE_STROKE_M')<nlssort('香','NLS_SORT=SCHINESE_STROKE_M');
也可以写函数
CREATE OR REPLACE FUNCTION GET_STROKE_COUNT(F_WORD IN VARCHAR2 )
RETURN INT
AS
I INT:=0;
BEGIN
SELECT MAX(STROKE_COUNT)+1 INTO I FROM TB_STROKE where nlssort(WORD,'NLS_SORT=SCHINESE_STROKE_M')<nlssort(F_WORD,'NLS_SORT=SCHINESE_STROKE_M');
RETURN I;
END GET_STROKE_COUNT;
--测试
SELECT GET_STROKE_COUNT('甲') FROM DUAL;
--显示5
SELECT GET_STROKE_COUNT('骨') FROM DUAL;
--显示9