刚刚学习orcale数据库开发,问大家一个关于字符比较的问题,望大家指点一下
wscft 2008-03-09 07:02:44 select case when 5 >43 then '1' else '0' end from dual
--结果---
0
说明这个地方是用数值进行的比较
select case when '5' >'43' then '1' else '0' end from dual
--结果---
1
说明这个地方是用字符进行的比较,'5'的ASCII码大于'4' 所以返回 1
但是下面这个比较语句就看不懂了,希望达人指点指点
select case when '4' >'44' then '1' else '0' end from dual
union all
select case when '4' >='44' then '1' else '0' end from dual
union all
select case when 'a' >='aa' then '1' else '0' end from dual
union all
select case when 'a' >'aa' then '1' else '0' end from dual
----结果-----------------------------------------
0
0
0
0
下面的语句:
select case when '442' >'44' then '1' else '0' end from dual
----结果----------------------
1
我的问题是,当两个字符进行比较时候,从左面开始,如果第一个字符能比较出大小,则直接返回第一个字符间比较的结果,否则继续取第二个字符进行比较,
像'442' 和 '44', 'a'和'aa' 等,
前面的字符大小相等,后面二者的字符个数不等的情况下是怎么比较的呢? 哪位达人给出详细的说明, 谢谢!