病毒安全知识,电脑网络技术,手工杀毒方法,答疑解决笔记

导航

« QQ无法登录要求身份验证打开IE提示userenv.dll丢失 »

Oracle字符串比较

  Oracle字符串的比较,是按从左往右,逐一转换成ASCII码比较的,如果比较的两个字符串不一样长,就先用空格补齐长度短的那个字符串,然后再进行比较。因此,比较日期型的数据,也能通过转换成字符再进行比较,如to_char(date1,'yyyy-mm-dd')>'2019-06-14',是的,日期本身也是可以比较,如date1>to_date('2019-06-14','yyyy-mm-dd')。或者用来比较数字型的字符串,比如字符型的字段保存的数字,可以直接比较,如age>'20',不过这里就有一个问题,因为oracle是从左向右逐一比较,所以‘3’>'20',因此真要比较此类数字,最好转换成数字型,to_number('3'),这样一定小于to_number('20')。

  还有一种比较,如集装箱号的比较,前4位是字母,后7位是数字,要取个集装箱号范围,只要字母一致,按从左向右比较数字部分,用这个规则正合适,不会有不同位数的数字比较的麻烦,集装箱行业的应该对这点比较清晰。

  以上要注意的就是空格,虽然短的字符串会自动补空格,因此原始字符串中的空格,特别是原始字符串末尾的空格,不要让其干扰比较,有必要就用trim去掉后再比较。如果用字符比较不合适,还是转换成其它合适类型再比较的好。

Oracle字符串比较


>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/2107.html

发表评论(无须注册,所有评论在审核通过后显示):

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • 微信订阅号
    微信订阅

最新发表

最新评论及回复

本站出现的所有广告均不代表本人及本站观点立场 | 关于我 | 网站地图 | 联系邮箱 | 返回顶部
Copyright 2008-2020 www.stormcn.cn. All Rights Reserved. Powered By Z-Blog.

闽公网安备 35010202000133号