首页 > 数据库 >SQL语言做加减运算时将某项的null值转换为0

SQL语言做加减运算时将某项的null值转换为0

时间:2025-01-06 11:54:51浏览次数:1  
标签:运算 sal 工资 某项 加减 SQL null

在SQL语言中,很多时候,在表项中会遇到null值,null值有三大特点:

  1)NULL值不参加统计;

  2)NULL值不进入计算表达式;

  3)不能与其它值进行比较。

因此,在运算中要将null值有时候转换成其他值,这里提供一种加减运算中转换为0的方法。

如:在算工资的时候,总工资=基础工资+奖金,但有的员工奖金为null,因此:(这里用的scott表里的数据,comm表示奖金,sal表示工资,表名为emp)

select (
case
when comm is null then sal
else
sal+comm
end)
from emp
where deptno='30'

以下是个人在项目上的解决方案

 

标签:运算,sal,工资,某项,加减,SQL,null
From: https://www.cnblogs.com/aqsyc/p/18654991

相关文章

  • SQLServer单表无缝转换到MySQL.220605
    场景:SQLServer单表结构,无缝转换到MySQL方法:1.Navicat-右键需要导出的数据表-逆向表到模型2.弹出来的模型窗口里,选择转换模型为 默认MySQL8.0确认3.新弹出的模型窗口 -选择 导出SQL 即可。......
  • Mysql8忽略大小写的解决方案.240105
    ​一、删除服务器数据文件由于8.0没法设置参数后重启(失败),所以必须删掉老库,重新启动才行。切记:;本步骤要删掉老库所有资料,如果是数据库当前有用,请做好备份,再进行操作。systemctlstopmysqldcd/var/lib/mysql默认数据在这里rm-rf*二、添加配置,大小写不敏感vim/etc/m......
  • openEuler欧拉配置MySQL8的MGR单主双从.240108
    ​一、系统优化(三个节点全部操作)关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld关闭selinuxecho"SELINUX=disabled">/etc/selinux/configecho"SELINUXTYPE=targeted">>/etc/selinux/configcat/etc/selinux/configsetenforce0设置......
  • SQL Server Profiler的trc文件生成阻止.240108
    很奇葩,sqlserver自动生成trc文件,每分钟一个,重启服务器也没用。解决思路:查询现在正在跑的trace进程select*fromsys.fn_trace_getinfo(0);关闭C2审计功能EXECsp_configure'c2auditmode','0';重启数据库服务再次查看,已经没了。然后删除数据盘所有的trc文件。......
  • Restoring PostgreSQL database gitlabhq_production ... ERROR must be owner of ext
    RestoringPostgreSQLdatabasegitlabhq_production...ERROR:mustbeownerofextensionpg_trgmERROR:mustbeownerofextensionbtree_gistERROR:mustbeownerofextensionbtree_gistERROR:mustbeownerofextensionpg_trgm修改postgresql相关配置......
  • MySQL的for update skip locked
    最近有一个功能要是音频转文字以及翻译,该任务不仅耗时还消耗硬件,在硬件能够支持的情况下可以启动多台电脑一起处理任务加快速度,启动多个程序会出现处理同一个任务的问题,也就是并发的问题,趁机了解了一下mysql的FORUPDATESKIPLOCKED在MySQL中,FORUPDATESKIPLOCKED是一个......
  • NoSQL与Redis配置与优化
    NoSQL数据库是非关系型数据库的一种,具有高扩展性、灵活的数据模型和高性能的特点。Redis是一个开源的、基于内存的数据结构存储系统,作为NoSQL数据库的代表之一,被广泛应用于缓存、消息队列、实时分析等场景。本文将详细介绍Redis的配置与优化方法。一、Redis配置Redis的配置文件......
  • 将 EasySQLite 从 .NET 8 升级到 .NET 9
    前言EasySQLite是一个.NET8操作SQLite入门到实战的详细教程,主要是对学校班级,学生信息进行管理维护。今天咱们的主要内容是将EasySQLite从.NET8升级到.NET9。GitHub开源地址:https://github.com/YSGStudyHards/EasySQLite选型、开发详细教程第一天SQLite简介第二天在......
  • 【mysql】 1040 -Too many connections
    1040-Toomanyconnections查看最大连接数SHOWVARIABLESLIKE'max_connections';临时调整(重启MySQL后失效)SETGLOBALmax_connections=1000;永久调整编辑MySQL配置文件(通常是 my.cnf 或 my.ini)[mysqld]max_connections=1000重启MySQL服务sys......
  • 《深入理解Mybatis原理》MyBatis的sqlSession执行流程
    sqlSessionFactory与SqlSession正如其名,Sqlsession对应着一次数据库会话。由于数据库会话不是永久的,因此Sqlsession的生命周期也不应该是永久的,相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession里只能执行一次sql,你可以执行多次,当一旦关闭了Sqlsession就需要重新......