iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql字段为null的加减乘除运算方式
  • 528
分享到

Mysql字段为null的加减乘除运算方式

2024-04-02 19:04:59 528人浏览 独家记忆
摘要

目录Mysql字段为null的加减乘除运算解决办法数据库关于null不参与运算的坑举个例子:(阅读时:请记住这个字段以及它的值 )发生场景mysql字段为null的加减乘除运算 数据库表test_table 如下查询:

mysql字段为null的加减乘除运算

数据库表test_table

Mysql字段为null的加减乘除运算方式

如下查询:

select 
id,
total,
used,
(total - used) as have 
from test_table;

查询结果:

Mysql字段为null的加减乘除运算方式

解决办法

使用IFNULL 函数来解决NULL值问题

select 
id,
IFNULL(total,0) as total,
IFNULL(used,0) as used,
(IFNULL(total,0) - IFNULL(used,0)) as have 
from test_table;

查询结果:

Mysql字段为null的加减乘除运算方式

数据库关于null不参与运算的坑

举个例子:(阅读时:请记住这个字段以及它的值 )

Mysql字段为null的加减乘除运算方式

如果数据库表里字段值为 null 时,那么在写sql语句用这个值去做比较运算时(一般看见 null 或者参数类型为 string 时 也没有人去做加减乘除),除了 is nl 或者 is not nlll 没有其他操作, 有时 字段类型string ,值为 "2" 时, 会用 <> 如果数据库表里字段值为 null 时,那么在写sql语句用这个值去做比较运算时(一般看见 null 或者参数类型为 string 时 也没有人去做加减乘除),除了 is null 或者 is not null 没有其他操作, 有时 字段类型string ,值为 "2" 时, 会用 <> (不等于)] 判断,这都没问题,问题出现在 null 与其他值同时存在这个 当前字段 下,那么用 <> 会造成 mysql 查询不到数据,因为 <>"2" 不会把 null 过滤出去,此时 null 是参与运算的,所以sql语句应当调整为 坑 is null(is not null) and 坑=“2”(坑<>“2”) 这种写法,sql执行之后才会是我们想要的结果。

发生场景

mybatis框架的动态sql 在写XML映射文件时 比如: <if test=" 坑 = ‘2’ 或(坑 <> ‘2’) > 这种不实时看数据库,脑子里还想着业务需求怎么实现时(一心二用)

其本质还是对于 基础知识 掌握不扎实,所以不断进步的同时,也不要忘了 夯实基础 个人理解: 动态sql最强大的 不是它的语法和格式的优点,首先 它并没有原生sql语句的可读性高,其次 动态sql本质也 仅仅 就起到一个sql语句拼接的作用,它真正强大的点是 <forEach> 这个可以遍历集合的标签,这是原生sql语句无法做到的事情,所以在没有对 集合 进行操作的情况下,尽量用原生sql去做。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文档:

--结束END--

本文标题: Mysql字段为null的加减乘除运算方式

本文链接: https://www.lsjlt.com/news/34246.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql字段为null的加减乘除运算方式
    目录mysql字段为null的加减乘除运算解决办法数据库关于null不参与运算的坑举个例子:(阅读时:请记住这个字段以及它的值 )发生场景Mysql字段为null的加减乘除运算 数据库表test_table 如下查询:...
    99+
    2022-09-27
  • Android随机给出加减乘除的四则运算方法
    这篇文章主要介绍“Android随机给出加减乘除的四则运算方法”,在日常操作中,相信很多人在Android随机给出加减乘除的四则运算方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android随机给出加减...
    99+
    2023-06-30
  • Java利用位运算实现加减乘除的方法详解
    目录前言一、常见位运算1. &运算2. |运算3. ^运算4. ~运算二、位运算实现加法三、位运算实现减法四、位运算实现乘法五、位运算实现除法前言 我们经常使用的加减乘除,我...
    99+
    2022-11-13
  • 加法、减法、乘法和除法运算符如何处理表示为 MySQL 字符串的日期?
    此类计算可能会导致不可预测的结果,因为当日期表示为 MySQL 字符串时,MySQL 会尝试仅采用第一个出现的字符串来对字符串执行数字运算。以下示例将阐明它 -mysql> select '2017-10-17' + ...
    99+
    2023-10-22
  • 加法、减法、乘法和除法运算符如何处理 MySQL 表中存储的日期值?
    当我们尝试对表中存储的日期值进行此类操作时,MySQL 会将日期值假设为数字并执行算术运算。假设我们有一个名为“example”的表在“orderdate”列中有一个日期值,然后进行算术运算将澄清上述内容 -mysql> selec&...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作