mysql set age=‘0‘ 和 set age=0的区别?

select case when(t1.business_transfer=‘source’)then 0 else t1.settlement_tyy_cash_amount end as tyy from t_settlement_waybill t1 where waybill_sn in (‘2025010700001’);
select case when(t1.business_transfer=‘source’)then (t1.settlement_tyy_cash_amount=‘0’) else t1.settlement_tyy_cash_amount end as tyy from t_settlement_waybill t1 where waybill_sn in (‘2025010700001’);
为什么这两个SQL执行结果不一致

这两个SQL查询的主要差异在于CASE语句中的处理方式。

第一个查询:

SELECT 
    CASE 
        WHEN t1.business_transfer='source' THEN 0 
        ELSE t1.settlement_tyy_cash_amount 
    END as tyy 
FROM 
    t_settlement_waybill t1 
WHERE 
    waybill_sn in ('2025010700001');

在这个查询中,当t1.business_transfer的值为’source’时,tyy的值会被设置为0。否则,它会使用t1.settlement_tyy_cash_amount的当前值。这里并没有尝试将t1.settlement_tyy_cash_amount设置为字符串’0’,只是进行了比较和赋值。

第二个查询:

SELECT 
    CASE 
        WHEN t1.business_transfer='source' THEN (t1.settlement_tyy_cash_amount='0') 
        ELSE t1.settlement_tyy_cash_amount 
    END as tyy 
FROM 
    t_settlement_waybill t1 
WHERE 
    waybill_sn in ('2025010700001');

在这个查询中,当t1.business_transfer的值为’source’时,tyy的值会被设置为一个布尔值,表示t1.settlement_tyy_cash_amount是否等于字符串’0’。如果相等,它会返回TRUE(或相应的布尔值),否则它会返回t1.settlement_tyy_cash_amount的原始值。这意味着结果可能是布尔值或数字,取决于t1.settlement_tyy_cash_amount的值。这也可能导致数据类型的不一致,这在某些数据库系统中可能会引起错误或不期望的行为。此外,在许多数据库系统中,尝试将布尔值作为数字处理可能会导致意外的结果。这可能是两个查询结果不一致的原因。

当t1.settlement_tyy_cash_amount的原始值分别为0,10时,对应的第二条SQL执行结果是什么?

SELECT 
    CASE 
        WHEN t1.business_transfer='source' THEN (t1.settlement_tyy_cash_amount='0') 
        ELSE t1.settlement_tyy_cash_amount 
    END as tyy 
FROM 
    t_settlement_waybill t1 
WHERE 
    waybill_sn in ('2025010700001');

在这个查询中,当t1.business_transfer 为 ‘source’ 时,tyy 的值将根据t1.settlement_tyy_cash_amount='0'的结果来决定。这个表达式会比较t1.settlement_tyy_cash_amount是否等于字符串’0’。

如果 t1.settlement_tyy_cash_amount 的原始值为0:

  • t1.business_transfer等于’source’时:
    • (t1.settlement_tyy_cash_amount = '0') 结果为 TRUE(通常在某些数据库中为1)。
  • t1.business_transfer不等于’source’时:
    • tyy的值为0(因为直接返回t1.settlement_tyy_cash_amount),结果为0。

如果 t1.settlement_tyy_cash_amount 的原始值为10:

  • t1.business_transfer等于’source’时:
    • (t1.settlement_tyy_cash_amount = '0') 结果为 FALSE(通常在某些数据库中为0)。
  • t1.business_transfer不等于’source’时:
    • tyy的值为10(返回原始值)。

总结:

  1. t1.settlement_tyy_cash_amount 为 0,且 t1.business_transfer 为’source’时,tyy的值为TRUE(或1)
  2. t1.settlement_tyy_cash_amount 为 0,且 t1.business_transfer 非’source’时,tyy的值为0
  3. t1.settlement_tyy_cash_amount 为 10,且 t1.business_transfer 为’source’时,tyy的值为FALSE(或0)
  4. t1.settlement_tyy_cash_amount 为 10,且 t1.business_transfer 非’source’时,tyy的值为10

idea free版
https://pan.quark.cn/s/dd7db30d835f
free 🎬大全
https://kdocs.cn/l/cqhxNU9I2lLD
12306买票科技
https://pan.quark.cn/s/45f6bf9be1b3

在这里插入图片描述

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

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

相关文章

利用Java爬虫按图搜索1688商品(拍立淘)的实践指南

在当今数字化时代,网购已成为人们生活中不可或缺的一部分。而1688作为国内领先的B2B电商平台,汇聚了海量的商品资源。然而,在面对众多商品时,传统的文字搜索方式有时难以满足我们的需求。比如,当我们看到一件心仪的商品…

达梦8-DMSQL程序设计学习笔记1-DMSQL程序简介

1、DMSQL程序简介 DMSQL程序是达梦数据库对标准SQL语言的扩展,是一种过程化SQL语言。在DMSQL程序中,包括一整套数据类型、条件结构、循环结构和异常处理结构等,DMSQL程序中可以执行SQL语句,SQL语句中也可以使用DMSQL函数。 DMSQ…

使用 WPF 和 C# 将纹理应用于三角形

此示例展示了如何将纹理应用于三角形,以使场景比覆盖纯色的场景更逼真。以下是为三角形添加纹理的基本步骤。 创建一个MeshGeometry3D对象。像往常一样定义三角形的点和法线。通过向网格的TextureCoordinates集合添加值来设置三角形的纹理坐标。创建一个使用想要显示的纹理的 …

Git版本控制 - 创建使用Repository

Git版本控制 – 创建使用Repository Version Control with Git - Create and Use Repository By JacksonML 上文提到,Git是一种分布式版本控制系统。作为全球范围内广泛使用的工具,如何将项目分步骤运用到其中呢? 本文简要介绍如何用Git工…

WINFORM - DevExpress -> devexpress版--报表(report)

devexpress report模板 1.安装devexpress(DevExpress 总结【安装、案例】_caoyanchao1的博客-CSDN博客_devexpress) 2.新建vs项目且添加standarReportDesigner控件 涛神设计器注意 3.运行后步骤 点击New Report DetailReport 涛神设计器checkbox(3.复选框只认boolean类型的 b…

【Redis】初识Redis

目录 Redis简介 Redis在内存中存储数据 Redis数据库中的应用 Redis缓存中的应用 Redis消息中间件 尾言 Redis简介 如下是Redis官网中,对Redis的一段描述 在这段描述中,我们提取如下关键要点: Redis主要用于在内存中存储数据Redis可…

YOLOv9改进,YOLOv9自研检测头融合HAttention用于图像修复的混合注意力检测头

参考文章 完成本篇内容,首先完成这篇文章,并把代码添加到 YOLOv9 中: YOLOv9改进,YOLOv9引入HAttention注意机制用于图像修复的混合注意力转换器,CVPR2023,超分辨率重建 下文都是手把手教程,跟着操作即可添加成功 目录 参考文章🎓一、YOLOv9原始版本代码下载🍀🍀…

[读书日志]8051软核处理器设计实战(基于FPGA)第七篇:8051软核处理器的测试(verilog+C)

6. 8051软核处理器的验证和使用 为了充分测试8051的性能,我们需要测试每一条指令。在HELLO文件夹中存放了整个测试的C语言工程文件。主函数存放在指令被分为五大类,和上面一样。 打开后是这样的文件结构。HELLO.c是主文件,这是里面的代码&am…

occ的开发框架

occ的开发框架 1.Introduction This manual explains how to use the Open CASCADE Application Framework (OCAF). It provides basic documentation on using OCAF. 2.Purpose of OCAF OCAF (the Open CASCADE Application Framework) is an easy-to-use platform for ra…

python识别图片中指定颜色的图案并保存为图片

示例代码: def chuli(color):import cv2import numpy as np# 定义颜色名称到HSV阈值范围的映射color_thresholds {red: ([0, 100, 100], [10, 255, 255], [160, 100, 100], [180, 255, 255]),yellow: ([20, 100, 100], [30, 255, 255]),blue: ([90, 100, 100], [1…

《利用深度神经网络在广角小口径望远镜中实现天文目标的检测与分类》论文精读

摘要 大口径小口径望远镜被广泛应用于光学瞬态观测,对观测图像中的天文目标进行检测和分类是最重要也是最基础的步骤。本文提出了一种基于深度神经网络的天文目标检测与分类框架。该框架采用了Faster R-CNN的概念,以改进的Resnet-50为主干网络&#xff…

Redis数据结构服务器

Redis数据结构服务器 什么是Redis数据结构服务器 的概念和特点 是一个开源(BSD许可),内存中的数据结构存储服务器,可用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings&#xff09…

逻辑测试题

https://blog.csdn.net/qq_39081315/article/details/121393597 先生成一个点,每生成一个点判断距离,角度,满足加入存点的容器,直到容器大小为4。 随机生成点: 分区域:最大距离20,以20为正方形…

【UE5 C++课程系列笔记】27——多线程基础——ControlFlow插件的基本使用

目录 步骤 一、搭建基本同步框架 二、添加委托 三、添加蓝图互动框架 四、修改为异步框架 完整代码 通过一个游戏初始化流程的示例来介绍“ControlFlows”的基本使用。 步骤 一、搭建基本同步框架 1. 勾选“ControlFlows”插件 2. 新建一个空白C类,这里…

前端性能优化方面

页面加载过程 网页资源的加载通常需要以下基本步骤: 地址栏输入网页服务器地址 浏览器获取网页html文件 解析html文件中存在的js、css、图片等资源,通过网络线程加载 在特定时机执行js代码,可以在js中动态加载需要的静态资源 执行js里存在的f…

解锁“搭子小程序”开发新机遇,助力企业数字化转型

搭子作为一种新型的社交方式,逐渐进入到了年轻人的生活中,在日常旅游、学习、逛街等,年轻人都可以找到志同道合的“搭子”,提高生活的幸福指数。 随着搭子市场的发展,通过互联网寻找搭子已经成为了年轻人的必备方式。…

Open FPV VTX开源之ardupilot配置

Open FPV VTX开源之ardupilot配置 1. 源由2. 配置3. 总结4. 参考资料5. 补充5.1 飞控固件版本5.2 配置Ardupilot的BF OSD5.3 OSD偏左问题 1. 源由 飞控嵌入式OSD - ardupilot配置使用ardupliot配套OSD图片。 Choose correct font depending on Flight Controller SW. ──>…

Harmony NEXT开发ArkUI框架速成二基础语法

程序员Feri一名12年的程序员,做过开发带过团队创过业,擅长Java、嵌入式、鸿蒙、人工智能等,专注于程序员成长那点儿事,希望在成长的路上有你相伴!君志所向,一往无前! 1.ArkUI基础语法 1.1 ArkTS页面组成 在创建的时候,可以创建Page也可以直…

【树莓派3B】香瓜树莓派3B之语音识别机器人

本文最后修改时间:2018年04月03日 11:27 一、本节简介 本节用树莓派3代B型开发板做一个语音识别机器人,实现基础的语音对话功能。 注:转载原文路径 https://github.com/WhisperHear/Voice_Recognition_Control_Robot#userconsent# 上文个…

雷达流量监测系统:精准监控水流,确保水资源安全

水是生命之源,水资源的有效管理和保护直接关系到人类的生存与发展。随着全球气候变化和人口增加,水资源的短缺问题日益严重,如何高效监控和管理水资源,成为了水利、环保、农业等多个领域亟待解决的重要问题。而在这一过程中&#…