sql难点

一、

假设你有一个查询,需要根据 id 是否为 null 来动态生成 SQL 条件:

xml复制

<select id="getResources" resultType="Resource">
    SELECT * FROM resources
    <where>
        <if test="id != null">
            and id <![CDATA[<>]]> #{id}
        </if>
    </where>
</select>

生成的 SQL

假设 id 的值为 123,生成的 SQL 将是:

sql复制

SELECT * FROM resources
WHERE id <> 123

如果 idnull,则不会生成任何条件,生成的 SQL 将是:

sql复制

SELECT * FROM resources

从表 resources 中选择所有列(* 表示所有列),但只选择那些 id 字段不等于 123 的记录。

二、

查询解释

sql复制

SELECT
    IFNULL(MAX(IFNULL(ORDER_NO, 0)), 0)
FROM
    scm_web_classify_tab
WHERE
    DELETE_FLAG = 0
    AND TENANT_ID = #{tenantId}
  1. IFNULL(ORDER_NO, 0)

    • 这个函数确保 ORDER_NO 如果为 NULL,则用 0 替代。这样可以避免 MAX 函数在处理 NULL 值时的问题。

  2. MAX(...)

    • 这个函数用于获取 ORDER_NO 的最大值。如果所有 ORDER_NO 都是 NULLMAX 函数会返回 NULL

  3. IFNULL(..., 0)

    • 这个函数确保如果 MAX 函数的结果是 NULL,则用 0 替代。这样可以确保最终结果总是返回一个数字,而不是 NULL

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA学习第二天

ArryList的构造方法和添加方法 01。构造方法的<>里面可以放数据类型 02. add&#xff08;&#xff09;可以直接在后面加入数据&#xff0c;也可以指定下标的插入元素。 ArrayList的常用方法 ArrayList存储对象 在Java中&#xff0c;System.out.println()可以打印基本数据…

基于窄带物联网的矿车追踪定位系统(论文+源码+实物)

1.功能设计 鉴于智能物联网的大趋势&#xff0c;本次基于窄带物联网的矿车追踪定位系统应具备以下功能&#xff1a; &#xff08;1&#xff09;实现实时定位&#xff0c;真正实现矿车随时随地定位; &#xff08;2&#xff09;定位精度高&#xff0c;采用该系统可以实现矿车在…

如何把邮件批量导出到本地

最近遇到邮箱满了的问题&#xff0c;需要把邮件批量导出到本地&#xff0c;然后清空邮箱。 问题是这个邮箱的官网&#xff0c;没有批量导出按钮&#xff0c;比较麻烦&#xff1b;总不能一封一封下载到本地&#xff0c;上万的。 找到了一个好用的工具&#xff0c;Mozilla Thun…

ICLR 2025 oral|用nuPlan + 200h物流小车数据集测试!SOTA扩散模型轨迹规划器来了

导读&#xff1a; 本文介绍了清华大学联合毫末智行、自动化所、港中文、上海交大、上海人工智能实验室最新研究成果《Diffusion-based Planning for Autonomous Driving with Flexible Guidance》——荣获ICLR 2025 Oral Presentation(仅1.8%接受率)。 该算法创新性地设计了基…

dify.ai 怎么配置链接火山引擎等云厂商的deepseek模型

要将 dify.ai 配置链接到火山引擎等云厂商的 DeepSeek 模型. 申请火山引擎的key&#xff0c;创建endpoint 添加模型 测试模型

SAP-ABAP:dialog界面中的数据块Event Block详解举例

在SAP的Dialog程序开发中&#xff0c;Event Block&#xff08;事件块&#xff09;是屏幕流逻辑&#xff08;Flow Logic&#xff09;中的关键部分&#xff0c;用于定义屏幕在特定事件触发时执行的逻辑。Event Block通常与ABAP模块&#xff08;Module&#xff09;结合使用&#x…

2025年怎么选择SEO发布工具

在如今竞争激烈的互联网时代&#xff0c;网站的流量和曝光率直接决定着一个品牌或企业的市场影响力。无论是个人博客&#xff0c;还是企业官网&#xff0c;能够有效提升SEO&#xff08;搜索引擎优化&#xff09;排名的工具&#xff0c;已成为许多网站管理者和营销人员的必备良器…

Java 进阶day14XML Dom4j 工厂模式 Base64

目录 知识点1、XML 概念XML约束 知识点2、XML解析 Dom4j&#xff08;Dom for java&#xff09;XPath 知识点3、工厂模式知识点4、Base64 知识点1、XML 概念 XML的全称为&#xff08;eXtensible Markup Language&#xff09;&#xff0c;是一种可扩展的标记语言。 XML的作用…

数据结构实验——排序算法的实现与分析

前言 到目前为止&#xff0c;8个数据结构实验在这里就全部更完啦&#xff08;撒花&#xff09;&#xff01;我那一段难忘的周二晚课时光也告一段落&#xff0c;整体来说&#xff0c;有赶课的折腾&#xff0c;有调错的崩溃&#xff0c;也有故意迟到五分钟的惬意&#xff0c;用G…

【Antv G2 5.x】饼图添加点击事件,获取当前坐标数据

// 监听 tooltip:show 事件this.chart.on(tooltip:show, (event) => {this.currentShowTooltipName = event.data.items[0].name})// 监听绘图区plot的点击事件this.chart.on(interval:click, ev => {this.$emit(chartClick, this.currentShowTooltipName);})// 监听绘图…

Oracle常用导元数据方法

1 说明 前两天领导发邮件要求导出O库一批表和索引的ddl语句做国产化测试&#xff0c;涉及6个系统&#xff0c;6千多张表&#xff0c;还好涉及的用户并不多&#xff0c;要不然很麻烦。 如此大费周折原因&#xff0c;是某国产库无法做元数据迁移。。。额&#xff0c;只能我手动导…

anolis os 8.9安装jenkins

一、系统版本 # cat /etc/anolis-release Anolis OS release 8.9 二、安装 # dnf install -y epel-release # wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo # rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.…

Python办公自动化之PDF

python版本&#xff1a;3.13.1 开发工具&#xff1a;pycharm 安装三方库&#xff1a;pypdf2 、pdfplumber、pymupdf 一、从PDF中提取文字 用Python从PDF中提取文字-CSDN博客 二、从PDF中提取表格 用Python从PDF中提取表格-CSDN博客 三、拆分和合并PDF文件 用Python拆…

变化检测相关论文可读list

一些用得上的&#xff1a; 遥感变化检测常见数据集https://github.com/rsdler/Remote-Sensing-Change-Detection-Dataset/ 代码解读&#xff1a;代码解读 | 极简代码遥感语义分割&#xff0c;结合GDAL从零实现&#xff0c;以U-Net和建筑物提取为例 NeurIPS2024: https://mp.w…

ASP.NET Core SignalR案例:导入英汉词典

Ecdict 下载词典文件stardict.7z&#xff0c;解压&#xff0c;stardict.csv是一个CSV格式的文本文件&#xff0c;文件的第一行是表头&#xff0c;除第一行外&#xff0c;其他每行文本是一个单词的相关信息&#xff0c;用逗号分隔的就是各个列的值。英汉词典ECDICT中导入单词到…

元宵佳节,我的创作纪念日:技术之路的回顾与展望

今天是元宵节&#xff0c;一个象征着团圆与美好的节日。巧合的是&#xff0c;今天也是我作为技术博客博主的创作纪念日。在这个特别的日子里&#xff0c;我想和大家分享我的创作故事&#xff0c;回顾初心、总结收获、展望未来&#xff0c;同时也希望能为正在技术道路上探索的你…

python实现常见数学概率分布

常见正态分布 1.贝塔分布1.1 概率密度函数1.2参数对分布形状的影响1.3 应用场景1.4 python实现 2. 帕累托分布&#xff08;80/20法则&#xff09;3. 正态分布&#xff08;高斯分布&#xff09;3.1 正态分布对应性质3.2 正态分布对应图像![在这里插入图片描述](https://i-blog.c…

本地生活案例列表案例

1.实现导航跳转 2.设置标题内容并创建编译模式 3.获取并且渲染商铺列表数据 获取数据 渲染页面 4.实现初步上拉加载效果 4.1配置loading效果 4.3配置上拉触底距离&#xff0c;并且使页码值自增加1&#xff0c;获取更多数据 节流处理 5.判断数据是否加载完毕 当没有后续数据了…

.NET版Word处理控件Aspose.Words教程:使用 C# 删除 Word 中的空白页

Word 文档中的空白页会使其看起来不专业并扰乱流程。用户会遇到需要删除 Word 中的空白页的情况&#xff0c;但手动删除它们需要时间和精力。在这篇博文中&#xff0c;我们将探讨如何使用 C# 删除 Word 中的空白页。 本文涵盖以下主题&#xff1a; C# 库用于删除 Word 中的空…

Unity崩溃后信息结合符号表来查看问题

目录 SO文件符号表对调试和分析的重要性调试方面分析方面 错误数据安装Logcat解释符号表设置符号文件路径生成解析 相关参考 SO文件 so 文件&#xff08;Shared Object File&#xff0c;共享目标文件&#xff09;和符号表紧密相关&#xff0c;它们在程序的运行、调试和分析过程…