博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DB2数据库字符比较大小
阅读量:6227 次
发布时间:2019-06-21

本文共 1022 字,大约阅读时间需要 3 分钟。

碰到一个这样的需求:查询页面的查询条件有一条:按XXX号起始、XXX号截止查询两个号码之间的所有数据("XXX号"由字母数字组成)。

遇到此问题时,第一反应是:字母数字在一起怎么比较大小?谁大谁小?

于是,我自己在库(DB2)中修改了足够多的数据来测试一下,数据(字段名:"REVERSE1")很简单0-9,A-Z,a-z,还有一些为null。简单的测试了一下:

1.sql语句:select REVERSE1 from syscompany order by REVERSE1;

2.结果:

3.结论:DB2数据库字母数字比较大小的规则为:0-9<a<A<b<B<c<C<......<z<Z;

但是我们在实际运用中,我们遇到的肯定是好长的数字字母组合成的字符串,重点是还不知道输入的字母有多长,那么对于不等长的字符串比较大小又是什么样子的呢,我试了一下:

以下图片基于的查询条件的sql语句为:

XXX号对应:voucher0_.VOUCHERREGNO字段。

1.我没有输入XXX号进行查询,结果:

2.我在"XXX号 从:"  查询条件处输入 "VPDJp" ,在" 到:" 查询条件处输入"z",结果:

可以看出,其比较大小的时候,是按从前往后的顺序一个字符一个字符的去比较,如果前一个字符小了,就不看后面的字符了。

然后,我又想到一个问题,如果根据前一个字符大小来判断整个字符串的大小,那么如果我的字符如果是:VPDJP0200000015001421313814152和VPDJP020000001500142131381415200比较,也就是前面相同,但是后面没有任何字母数字了与"0"比较,谁大谁小呢?试验一下:

1.我在"XXX号 从:"  查询条件处输入 "VPDJP0200000015001421313814152" ,在" 到:" 查询条件处输入"VPDJP0200000015001421313814152",结果:

2.我在"XXX号 从:"  查询条件处输入 "VPDJP0200000015001421313814152" ,在" 到:" 查询条件处输入"VPDJP020000001500142131381415200",结果:

由此可以看出:在前面字符相同的情况下,后面没有数据与"0"比较,"0"是比较大的。

 

转载于:https://www.cnblogs.com/bjxgp/p/4536376.html

你可能感兴趣的文章
第19篇 2016年计划
查看>>
左连接,右连接,内连接
查看>>
Django+element ui前后端不分离的博客程序
查看>>
托福听力
查看>>
2018-2019-1 20165302 《信息安全系统设计基础》第四周学习总结
查看>>
类似百度图片排版效果
查看>>
【学习笔记】DataTable根据多列分组
查看>>
PE文件格式介绍
查看>>
使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序
查看>>
求助关于asp.net里使用ocx控件的问题
查看>>
asp.net生成条形码
查看>>
线段树基本格式
查看>>
springmvc集成shiro例子
查看>>
ionic2.1.0 --beta3版本新建页面做弹框时遇到的问题
查看>>
一个简单例子阐明while True与if的配合使用方法
查看>>
Generate Parentheses
查看>>
最短路径2
查看>>
[LeetCode]Search a 2D Matrix
查看>>
Hadoop学习之旅三:MapReduce
查看>>
Exception: Could not bind to 0.0.0.0:8080 after trying for 30 seconds
查看>>