Delphi中字符串比较大小 VS Oracle-SQL中字符串比较大小

重点注意Delphi和Oracle-SQL中比较字符串时空字符串''的根本性的不同

Delphi中的字符串比较

  • Delphi中字符串比较大小的规则:对应位置的字符按照字符编码值逐个对比,直到遇到可以确定大小关系的就结束比较

  • 参考《Delphi的Ord函数和ASCII码对照表》

  • 常见的一些字符的字符编码

    • '0'对应字符编码48;'1'对应字符编码49。'2'、'3'、……、'9'依次递增

    • 'A'对应字符编码65。'B'、'C'、……'Y'、'Z'依次递增

    • 'a'对应字符编码97。'b'、'c'、……'y'、'z'依次递增

    • ' '对应字符编码32,注意是空格,而不是空字符串

  • 比如'abcd' 和 'abd'比较

    • 首先第一位'a'和'a'比较,一样,继续下面的比较

    • 接着第二位'b'和'b'比较,一样,继续下面的比较

    • 接着第三位'c'和'd'比较,'c'<'d',所以'abcd'<'abd',结果出来!比较结束

  • 列举出常见的比较

    • '101'<'12'为True

    • '101'<'102'为True

    • 'abcd'>'abc'为True,这个需要注意

    • '12345'>'1234'为True,这个需要注意

    • '1'>'',在Delphi中任意非空字符串都大于空字符串''

可以自己在Delphi中编程试一下

procedure TForm1.btn1Click(Sender: TObject);
begin
//这里面的四种比较都是True,所以都会弹出框if '123'>'12' thenShowMessage(' ''123''>''12'' ');if 'abcd'>'abc' thenShowMessage(' ''abcd''>''abc'' ');if '1'>'' thenShowMessage(' ''1''>'''' ');if '102'>'10' thenShowMessage(' ''102''>''10'' ');
end;

Oracle SQL中的字符串比较

  • 亲自在Oracle中验证过!

  • 一般在SQL中的where条件中会用到字符串的比较,比如select * from user where name > 'john'

  • 首先特别注意'',和Delphi有一个很大的不同

    • 任何字符串都不能和''进行比较,因为比较结果既不为True也不为False

    • 如果在select的where判断中有和''的比较会导致选不出任何一条记录

  • 除了小心''之外,其余同Delphi:对应位置的字符按照字符编码值逐个对比,直到遇到可以确定大小关系的就结束比较

  • 几种常见的字符对应的编码

    • select ascii('1') from dual; 字符编码值 49

    • select ascii('A') from dual; 字符编码值 65

    • select ascii('a') from dual; 字符编码值 97

    • select ascii(' ') from dual; 字符编码值 32

  • 列举出常见的比较

    • 'abcd'>'abc'为True,和Delphi中一样

    • '12345'>'1234'为True,和Delphi中一样

  • 其他的数据库的相关规则目前还没有试过,比如MySQL、SQLite……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker Compose 安装 Superset

前言动手学 dockerSuperset 是一个强大的在线 SQL 查询编辑工具&#xff0c;同时也是一个轻量级的 BI 工具&#xff0c;今天我们就来动手学一下用 docker compose 安装 Superset。安装动手学 docker安装 git 并克隆项目&#xff1a;yum install git -ygit clone https://github…

[转]再见 NoSQL!

为解决大规模数据集合多重数据种类带来的挑战&#xff0c;NoSQL 应运而生&#xff0c;但现在却也遇到了诸多问题&#xff0c;本文作者 Rick Negrin&#xff0c;曾在微软工作 12 年&#xff0c;并在 SQL Server 团队度过大部分光阴&#xff0c;他提出&#xff0c;是时候「和 NoS…

【ArcGIS Pro微课1000例】0008:ArcGIS Pro加载不同来源的在线底图数据

ArcGIS Pro可以很方便的选择不同来源的在线底图数据,如中国地图彩色版、各种形式的天地图等。 打开ArcGIS Pro,点击左下角的【设置】。 点击【选项】。 ArcGIS Pro提供了三种形式的底图:组织的默认底图、自定义底图<

php+mysql实现数据分批插入

上周需要将云端的数据有条件的录入到mysql中&#xff0c;最开始是使用遍历数据然后一条条的插入的笨方法&#xff0c;结果速度慢的要死&#xff0c;所以又随便写了个笨方法2.0&#xff0c;记录一下自己菜鸟的成长历程。同时这也是在博客园的第一篇文章&#xff0c;目的仅仅是单…

[转]敏捷开发之Scrum扫盲,及敏捷开发中XP与SCRUM的区别

敏捷开发之Scrum扫盲篇 现在敏捷开发是越来越火了&#xff0c;人人都在谈敏捷&#xff0c;人人都在学习Scrum和XP… 为了不落后他人&#xff0c;于是我也开始学习Scrum&#xff0c;今天主要是对我最近阅读的相关资料&#xff0c;根据自己的理解&#xff0c;用自己的话来讲述S…

最流行的 .NET 反编译工具合集

编译和反编译 .NET 中的编译是把开发人员写的 C# 代码转化为计算机可理解的代码的过程&#xff0c;也就是中间语言代码&#xff08;IL代码&#xff09;。在这个过程中&#xff0c;C# 源代码被转换为可执行文件&#xff08;exe或者dll 文件&#xff09;。反编译则和编译相反&am…

三款国产计算机日常办公体验对比

近年来&#xff0c;信创事业开展的如火如荼&#xff0c;多款CPU和操作系统均在机关单位和央企批量应用。目前&#xff0c;信创电脑主要应用场景是日常办公&#xff0c;特别是对机关单位而言&#xff0c;文档、表格、PPT、PDF、浏览器等软件堪称办公必备。下面&#xff0c;我们就…

[转]Flask --- 框架快速入门

From&#xff1a;http://docs.jinkan.org/docs/flask/quickstart.html Flask 用户指南&#xff1a;http://docs.jinkan.org/docs/flask/index.html w3cschool.cn 的 Flask 教程&#xff1a;https://www.w3cschool.cn/flask/ 《Flask Web开发&#xff1a;基于Python的Web应用…

MAC usb启动盘制作

1.从App Store 下载OS 2.磁盘工具格式化磁盘默认即可 3. 为啥截图&#xff0c;因为有些是不一样的&#xff0c;建议使用 Tab建&#xff0c; 未命名则是你移动U盘命名的名称。 4.完成&#xff1a;所有的命令完成的话&#xff0c; 终端界面中会出现 Erasing Disk: 0%...10%...…

【ArcGIS Pro微课1000例】0011:ArcGIS Pro范围内汇总工具的巧妙使用——以甘肃省各地区内河流总长度计算为例

文章目录 问题描述范围内汇总工具介绍# 案例实现问题描述 统计甘肃省各个地区界内河流的总长度,如下图所示。 范围内汇总工具介绍 在ArcMap中可以实现河流总长度的统计,具体操作可以参考:【ArcGIS风暴】ArcGIS获取一个省各个地区界内的河流的总长度–以甘肃省为例,在ArcG…

C语言试题177之实现二分查找算法,折半查找算法

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目: 本实例…

30分钟掌握ES6/ES2015核心内容

2019独角兽企业重金招聘Python工程师标准>>> ECMAScript 6&#xff08;以下简称ES6&#xff09;是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的&#xff0c;所以又称ECMAScript 2015。 也就是说&#xff0c;ES6就是ES2015。 虽然目前并不是所有浏…

Windows 11 22H2 22621.290 和 22622.290 推送

面向 Beta 频道的 Windows 预览体验成员&#xff0c;微软现已推送 Windows 11 预览版 Build 22621.290 和 22622.290。微软宣布 Beta 频道Windows 11 预览版启用全新体验&#xff0c;分为两组进行测试。通过两组 Windows 预览体验成员的使用数据和反馈&#xff0c;以更好的测试…

【ArcGIS Pro微课1000例】0012:ArcGIS Pro属性表中文乱码完美解决办法汇总

如图所示,安装完ArcGIS Pro后,由于计算机系统和应用软件字符编码的问题,导致加载矢量数据并打开属性表后,会发现中文字段出现了乱码。 属性表中文乱码: 属性表中文正常: 事实上,ArcMap中也会出现中文属性表乱码的情况。 乱码的出现会给学习和工作带来很大不便,因此本…

dubbo中的Filter顺序是如何确定的

2019独角兽企业重金招聘Python工程师标准>>> 服务提供方的过滤器被调用顺序&#xff1a; EchoFilter->ClassLoaderFilter->GenericFilter->ContextFilter->(这4个是在代码中指定的) ExceptionFilter-> TimeoutFilter ->MonitorFilter-> TraceF…

java提示找不到或无法加载主类

背景 默许jdk的配置大家都没有问题&#xff0c;执行java&#xff0c;javac无报错&#xff0c;但今天在尝试在本地起来kafka的时候&#xff0c;提示java 找不到或无法加载主类&#xff0c;然后日志中提示 Files 找不到或无法加载主类&#xff1b;C:\Program 分析 其实很轻松的猜…

[转]WebView长按弹出复制粘贴

ActionMode简介 ActionMode是android3.0之后出现的一种菜单选择模式 ActionMode的创建 ActionMode的使用特别的简单&#xff0c;主要用到两个方法&#xff0c;startActionMode和ActionMode.Callback()&#xff0c;startActionMode:开启我们的菜单&#xff0c;ActionMode.Cal…

深夜爆肝:万字长文3种语言实现Huffman树(强烈建议三连)

文章目录一、C语言能干大事1. C语言下Huffman树的计算过程分析2. C语言下Huffman树的编程二、C#语言也不赖1. C#下Huffman类的设计2. C#中界面设计3. 建立测试数据并显示Huffman树4. 输入任意一组数据&#xff0c;完成构造Huffman树三、JavaScript语言不爱听了1. JavaScript下H…

C语言试题180之实现实现字符串strcpy函数

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目: 实现字…

[转]关于数据中台、数据平台、数据仓库、数据湖等数据概念的对比解析

前言 2010年左右&#xff0c;还是在上学的时候&#xff0c;学过一门课程叫《数据仓库与数据挖掘》&#xff0c;那还是属于传统数据的时代&#xff0c;我们会讨论什么是数据仓库&#xff1f;什么是数据集市&#xff1f;数据仓库和数据库有什么区别&#xff1f;等等&#xff0c;…