当前位置: 首页 > news >正文

IDEA XML文件里写SQL比较大小条件

背景

最近开发的时候,有一个需求的查询需要支持范围查询[a,b),并且查询的结果要求查询的范围含头端点不含尾端点。因为between…and…查询的范围是含头含尾的,因而不能使用。
因此打算直接使用>=和<来比较实现,使用>=的时候没有什么问题,结果在使用<的时候发现IDEA在报错。
查了一下发现是XML文件没法区分<是小于号还是一个标签的开始。

解决方案

以在用户表查询用户年龄范围为例子。

方案一

这种语法冲突的,一般情况下都可以利用转义字符来实现,这里也有类似的用法。

转移字符实际含义
&lt;<
&gt;>

可以写作如下:

SELECT * FROM user WHEREage &gt;= a AND age &lt; b

方案二

当然还可以使用 <![CDATA[ SQL语句 ]]>语法来实现,在CDATA标签中间的SQL会被单纯当成SQL
例子:

<![CDATA[ SELECT * FROM user WHERE age >= a AND age < b ]]>
方案三

可以继续使用between a and b,不过需要加多一个条件,xxx != b
例子:

SELECT * FROM user WHERE age BETWEEN a AND b AND age != b

方案四

可以把需要用到<的地方都转换成使用>
例子:

SELECT * FROM user WHERE age >= a AND b > age

http://www.lryc.cn/news/189550.html

相关文章:

  • Camtasia Studio2024最新版本正式更新上线!
  • 各种业务场景调用API代理的API接口教程
  • 安卓App使用HttpURLConnection发送请求与上传文件
  • 【Linux服务端搭建及使用】
  • 前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(三)
  • Linux 指令心法(十一)`tail` 显示文本文件的末尾部分
  • Mac mov转mp4,详细转换步骤
  • 高级深入--day31
  • 一文讲解图像梯度
  • 湖州OLED透明拼接屏技术应用引领现代化旅游观光方式
  • 点云从入门到精通技术详解100篇-点云特征学习模型及其在配准中的应用(续)
  • 铁道交通运输运营3D模拟仿真实操提供一个沉浸、高效且环保的情境
  • yum apt pip 阿里云源
  • Python+Tkinter 图形化界面基础篇:多线程和异步编程
  • 第13章 并发编程高阶(二)
  • Android AMS——栈管理详解(十一)
  • 【Redis】Set集合相关的命令
  • 力扣第501题 二叉树的众数 c++ (暴力 加 双指针优化)
  • MARKDOWN 文档图片编码嵌入方案
  • KubeVela可持续测试应用部署之Mock基础设施
  • 代理IP、Socks5代理与网络工程:解析技术世界的无限可能
  • OpenCV级联分类器识别车辆实践笔记
  • VS编译的时候不生成Release文件夹
  • 14.2 Socket 反向远程命令行
  • PCL点云处理之点云重建为Mesh模型并保存到PLY文件 ---方法二 (二百一十一)
  • CSS 中::after的妙用(实现在margin中显示内容)
  • SentenceTransformer使用多GPU加速向量化
  • 架构师-软件工程习题选择题
  • springboot单独在指定地方输出sql
  • gpio内部结构(一)