oracle:如何比较英文字母的大小,如A<B,另外,数字都小于字母,这个又怎么写?

oracle:如何比较英文字母的大小,如A<B,另外,数字都小于字母,这个又怎么写?
补充说明:上面问题写的有些错了,有些又不大明白。重新整理如下:
我现在碰到的问题: 在一个列的信息中查处2013年6月8日前的信息(该列值是一个varchar2类型,而且值中的第2位为年,第3位为月,第4位为日信息).而2013使用N表示(2000年开始用字母A,B.C...表示),月份超过10的用字母A,B。。。表示,日期超过10的也用A,B。。。表示

我要怎么使用MYSQL语句直接查出数据呢(是mysql,不是oracle),数据可能有一百多万。。。
最新回答
回忆毕竟是远了

2024-10-01 04:08:08

直接取出第2到4位,比较大小就可以了。因为在ASCII码表里,字符A-Z在数字0-9以后,所以按照此规则编码后的字符串仍然能保持编码前的日期的大小顺序,所以小于"N68"的字符串自然在2013年6月8日之前。

select * from 表名 where SUBSTRING(列名,2,3)<'N68'
你依旧那么甜

2024-10-01 06:06:55

对于你写的未看太明白,但是如果单纯的比较字母大小,可以用字母的ascii码来比较