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,一经查实,立即删除!

相关文章

STM8S和STM8L调试串口中断的注意点

源&#xff1a;STM8S和STM8L调试串口中断的注意点

C语言试题174之实现快速排序算法

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

解决slideDown()、slideUp()执行结束后才执行下一次,导致鼠标离开后很久动画依然在执行的问题...

问题描述&#xff1a; 给一个容器设置了mouseenter时&#xff0c;一个隐藏的box通过slideDown()显示出来&#xff1b;mouseleave时&#xff0c;通过slideUp()隐藏。 当鼠标不断在容器上滑过时&#xff0c;会导致鼠标离开很久后&#xff0c;动画也在不断执行 解决方法&#xff…

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提供了三种形式的底图:组织的默认底图、自定义底图<

ORA-16198: LGWR received timedout error from KSR

ORA-16198: LGWR received timedout error from KSRORA-16198 意味着主库上的LOG_ARCHIVE_DEST_2的NET_TIMEOUT设置的太小&#xff0c;导致LNS不能在设置的时间内将日志传输到备库。解决方法是提高NET_TIMEOUT的值到15-20 秒&#xff0c;SQL>ALTER SYSTEM SET LOG_ARCHIVE_D…

php+mysql实现数据分批插入

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

RIL接听电话没有声音的问题 [ RIL_Answer | RIL_SetAudioDevices ]

没有什么好说明的&#xff0c;直接上代码&#xff1a; RIL_Answer(m_hRil); RILAUDIODEVICEINFO audioDeviceInfo; audioDeviceInfo.cbSize sizeof(audioDeviceInfo); audioDeviceInfo.dwParams RIL_PARAM_ADI_ALL; audioDeviceInfo.dwRxDevic…

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

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

C语言试题175之实现选择排序算法

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

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

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

【ArcGIS Pro微课1000例】0009:ArcGIS Pro地理配准完整教程(建议收藏)

扫描得到的地图数据通常不包含空间参考信息,航片和卫片的位置精度也往往较低,这就需要通过具有较高位置精度的控制点将这些数据匹配到用户指定的地理坐标系中,这个过程称为地理配准。 地理配准即就是通过建立数学函数将栅格数据集(扫描后的图像)中各点的位置与标准空间参…

Intent跳转传list集合

先把List<>改为ArrayList<> ArrayList<Good> listnew ArrayList<Good>(); Intent intent new Intent(MainActivity.this,InfoActivity.class); intent.putExtra("list", list); startActivity(intent); Intent intent get…

Linux中的selinux

#1.selinux内核级加强型防火墙1&#xff09;针对文件&#xff0c;会对系统中每个文件添加安全上下文&#xff08;context&#xff09;2)针对进程&#xff0c;会对系统中的每个进程添加安全上下文&#xff08;context&#xff09;3&#xff09;会在系统服务上设定sebool开关4&am…

C语言试题176之实现归并排序算法

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

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

近年来&#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应用…

【ArcGIS Pro微课1000例】0010:ArcGIS Pro导入ArcMap样式符号库——以国土三调样式为例

样式是用于存储符号、颜色、配色方案、标注放置和布局项目的容器。 它们可以提升地图、场景和布局的一致性和标准化程度。 您创作地图、场景和布局时所使用的符号库和颜色选取器由存储在样式中的项目填充。 ArcMap、ArcGlobe 或 ArcScene 的桌面样式不能直接在 ArcGIS Pro 中使…

Windows WMIC命令使用详解(附实例)

第一次执行WMIC命令时&#xff0c;Windows首先要安装WMIC&#xff0c;然后显示出WMIC的命令行提示符。在WMIC命令行提示符上&#xff0c;命令以交互的方式执行执行“wmic”命令启动WMIC命令行环境。这个命令可以在XP或 .NET Server的标准命令行解释器&#xff08;cmd.exe&#…