SQL> select (CASE WHEN '0611'>'0601' THEN 1 ELSE 0 END) AS false_true FROM dual;FALSE_TRUE ---------- 1SQL> select (CASE WHEN '0601'>'0611' THEN 1 ELSE 0 END) AS false_true FROM dual;FALSE_TRUE ---------- 0-- ascii 0611 0601 的ascii是一样的 -- 比较两个字符串的ASCII码,并不是将两个字符串的所有字符去比较,而只是比较这两个字符串中的首字符!
SQL> select ascii('0601') from dual;ASCII('0601') ------------- 48SQL> select ascii('06操你妈逼') from dual;ASCII('06操你妈逼') ------------------- 48
-- 方法有二:-- 其一:两个数据量,分别用四个变量(月:两个变量;日:两个变量)
-- 即:A数据的月、日,分别用 A_month, A_day;
B数据的月、日,分别用 B_month, B_day;
-- if (A_month < B_month or (A_month = B_month and A_day < B_day ) )then A < B
else if A_month = B_month and A_day = B_day then A = B
else A > B-- 其二:直接获取日期变量的月、日 相比较:
select to_char(A, 'mmdd'), to_char(B,'mmdd') into v_A, v_B from ......if v_A < v_B ...
elsif v_A = v_B ...
else ...-- 当然是用方法二简单啦! 直接比较!
----------
1SQL> select (CASE WHEN '0601'>'0611' THEN 1 ELSE 0 END) AS false_true FROM dual;FALSE_TRUE
----------
0-- ascii 0611 0601 的ascii是一样的
-- 比较两个字符串的ASCII码,并不是将两个字符串的所有字符去比较,而只是比较这两个字符串中的首字符!
-------------
48SQL> select ascii('06操你妈逼') from dual;ASCII('06操你妈逼')
-------------------
48