oracle:如何比较英文字母的大小,如A
补充说明:上面问题写的有些错了,有些又不大明白。重新整理如下:
我现在碰到的问题: 在一个列的信息中查处2013年6月8日前的信息(该列值是一个varchar2类型,而且值中的第2位为年,第3位为月,第4位为日信息).而2013使用N表示(2000年开始用字母A,B.C...表示),月份超过10的用字母A,B。。。表示,日期超过10的也用A,B。。。表示
我要怎么使用MYSQL语句直接查出数据呢(是mysql,不是oracle),数据可能有一百多万。。。
oracle:如何比较英文字母的大小,如A<B,另外,数字都小于字母,这个又怎么写?
答案:2 悬赏:40
解决时间 2021-03-07 16:48
- 提问者网友:情系雨樱花
- 2021-03-07 13:35
最佳答案
- 二级知识专家网友:年轻没有失败
- 2021-03-07 14:02
直接取出第2到4位,比较大小就可以了。因为在ASCII码表里,字符A-Z在数字0-9以后,所以按照此规则编码后的字符串仍然能保持编码前的日期的大小顺序,所以小于"N68"的字符串自然在2013年6月8日之前。
select * from 表名 where SUBSTRINg(列名,2,3)<'N68'
select * from 表名 where SUBSTRINg(列名,2,3)<'N68'
全部回答
- 1楼网友:星星坠落
- 2021-03-07 15:37
对于你写的未看太明白,但是如果单纯的比较字母大小,可以用字母的ascii码来比较
再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯