如果列值为NULL,如何实现默认值?

2024-03-25

我想用这些条件从表中检索一些列值。

  • 如果值为 NULL (或)空字符串,则返回一些用户定义的值
  • 如果不满足条件,则返回其值。

我怎样才能弄清楚?

这是我的表查询..

CREATE TABLE AUCTION_CAR_BID(
bid_seq bigint NOT NULL AUTO_INCREMENT,
auction_car_seq bigint NOT NULL,
bid_group_seq bigint NOT NULL,
bid_price int DEFAULT 0 NOT NULL,
over_bid_price int DEFAULT -1 NOT NULL,
result_id int DEFAULT 0 NOT NULL,
remark varchar(500),
PRIMARY KEY (bid_seq)) 
ENGINE = InnoDB DEFAULT CHARACTER SET utf8;

这是我努力获得它的代码..

SELECT
    COALESCE(OVER_BID_PRICE, -1)
FROM
    AUCTION_CAR_BID
WHERE
    BID_SEQ = 2354435345;

其他 :

SELECT
    CASE
        WHEN OVER_BID_PRICE IS NULL
        OR TRIM(OVER_BID_PRICE) = '' THEN -1
        ELSE OVER_BID_PRICE
    END OVER_BID_PRICE
FROM
    AUCTION_CAR_BID
WHERE
    BID_SEQ = 2354435345;

但如果给定的话,我总是得到空字符串值(不是-1)id不在我的表中。

任何建议将不胜感激!


如果你这样写:

SELECT
    COALESCE(OVER_BID_PRICE, -1)
FROM
    AUCTION_CAR_BID
WHERE
    BID_SEQ = 2354435345;

结果可以有两种类型。

第一个结果:您的查询没有返回行!您的 WHERE 条件不满足,因此您将读取 NULL

第二个结果:您的查询返回行,但字段的值为 NULL,在这种情况下您的 COALESCE 工作正常

要解决您可以尝试以下操作:

SELECT COALESCE(
   (SELECT
   COALESCE(OVER_BID_PRICE, -1)
   FROM AUCTION_CAR_BID
   WHERE BID_SEQ = 2354435345)
,-1);

告诉我是否可以

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果列值为NULL,如何实现默认值? 的相关文章

  • OVER ORDER BY 中的多个列

    有没有办法在 OVER ORDER BY 子句中指定多个列 SELECT ROW NUMBER OVER ORDER BY A Col1 AS ID FROM MyTable A 上面的方法工作正常 但尝试添加第二列不起作用 SELECT
  • 如何终止正在运行的 SELECT 语句

    如何通过终止会话来停止正在运行的 SELECT 语句 该命令不断根据 SELECT 语句向我提供输出 我想在其间停止它 As you keep getting pages of results I m assuming you starte
  • 使用 PHP 查询更改表,列名未显示在 phpMyAdmin 中

    这是我的第一篇文章 这里有一篇类似的文章 phpMyAdmin 不显示添加的列 代码日志 https stackoverflow com questions 12960302 phpmyadmin doesnt show added col
  • MySQL JSON 存储与两个表

    与使用单独的元表相比 使用 JSON 在表中存储数据有什么好处吗 这是原始架构 Users Table UserId Username Etc 5 John Avatar Table Id UserId ImageName ImageTyp
  • 游标与更新

    一家公司使用 SQL Server 数据库来存储有关其客户及其业务交易的信息 您所在的城市引入了新的区号 对于前缀小于 500 的电话号码 区号 111 保持不变 前缀为 500 及以上的号码将分配区号 222 客户表中电话列中的所有电话号
  • BULK INSERT 中格式附近的语法不正确?

    我试图找出为什么我使用的 BULK INSERT 命令无法识别命令中使用的 FORMAT 和 FIELDQUOTE 选项 BULK INSERT dbo tblM2016 RAW Current Import File FROM x tms
  • 一组记录中某些值相同的唯一约束

    DBMS MS Sql Server 2005 标准版 我想创建一个表约束 以便只有一个记录在表的子集中具有特定值 其中行共享特定列中的值 这可能吗 Example 我的 myTable 中有一些记录 其中有一个非唯一的外键 fk1 以及一
  • 如何在一对一关系上使用 onDelete: 'CASCADE'

    当用户被删除时 我尝试删除用户的个人资料 但它并没有删除个人资料上的任何内容 用户实体 Entity export class User PrimaryGeneratedColumn id number Column name string
  • MySQL:如何获取上次更新的更改

    我正在使用 MySQL 和 PHP 开发数据库应用程序 此时我正在尝试获取上次更新引起的更改 我解决问题的第一个方法是 使用 SELECT 获取 旧 状态 使用 UPDATE 进行更改 使用 SELECT 获取 新 状态 将数组与 php
  • 在 Oracle 中创建数据库链接时出错

    我有两个数据库 需要编写跨数据库查询 所以我试图创建一个数据库链接 CREATE PUBLIC DATABASE LINK DBLink CONNECT TO SchemaName IDENTIFIED BY 123 using DBNam
  • 在tomcat中显示Spring-security的SQL错误

    我使用 spring security 框架创建了一个 Web 应用程序 我设置了一个数据库来存储用户及其角色 但 tomcat 给出以下错误 17 sep 2010 11 56 14 org springframework beans f
  • 从 ISO 周中提取日期 (201905) BigQuery

    我需要从 ISO 周数中提取星期日的日期 即 201905 它需要位于 standardSQL 中 因为它将使用不支持旧版本的脚本进行调度 我尝试从 Google Sheets 调整工作公式 但无法弄清楚 Google Sheets 的原始
  • 在 Oracle SQL 中执行 MERGE 时,如何更新 SOURCE 中不匹配的行?

    我有一个main数据库和一个report数据库 我需要同步一个表main into report 但是 当项目在main数据库 我只想设置一个IsDeleted标志在report数据库 执行此操作的优雅方法是什么 我目前正在使用 MERGE
  • 显示多个表的账户余额

    我有以下两个表 其中存储有关贷记和借记记录的信息 couponCr 表包含 voucherType voucherPrefix voucherNo crparty cramount SALES S 1 1 43000 SALES S 2 1
  • MySQL 如何使用返回多行的 SELECT 子查询插入表?

    MySQL 如何使用返回多行的 SELECT 子查询插入表 INSERT INTO Results People names VALUES SELECT d id FROM Names f JOIN People d ON d id f i
  • 从Oracle表中删除重复行

    我正在 Oracle 中测试某些内容并使用一些示例数据填充表 但在此过程中我不小心加载了重复记录 因此现在我无法使用某些列创建主键 如何删除所有重复行并只保留其中一行 Use the rowid伪列 DELETE FROM your tab
  • 在 MySQL 表中存储用户密码的最佳 PHP 哈希方法?

    我已经阅读 Stack Overflow 问题大约 15 分钟了 每一个问题似乎都与我之前读到的问题相矛盾 Bcrypt SHA1 MD5 等 我目前对我的密码进行 MD5 但我想让我的数据库在发生泄露时更加安全 我知道这个问题已经被问了一
  • Mysql 连接到服务器:用户 root@localhost 的访问被拒绝

    edit9 是否有可能我只是缺少文件夹的一些权限 我真的非常非常感谢更多的建议 edit3 由于这篇文章没有得到足够的回复 而且这绝对是至关重要的 我尽快完成这件事 我重建了我的帖子以显示我认为到目前为止我已经扣除的内容 注意 通过许多不同
  • 更新或插入 MySQL Python

    如果记录已存在 我需要更新一行 如果不存在 我需要创建一个新记录 我理解 ON DUPLICATE KEY 将使用 MYSQLdb 完成此操作 但是我无法使其正常工作 我的代码如下 cursor database cursor cursor
  • 自定义 php 论坛 - 显示新的/未读的帖子

    我自己使用 php 编写了一个自定义论坛脚本 我决定不使用 phpbb 和其他工具 因为我希望我所做的事情具有 100 的灵活性 不过我遇到了一个问题 如何向用户显示帖子是否是新的 未读的 我想到了两种解决方案 1 饼干 2 数据库 我不想

随机推荐

  • 在 TabLayout 支持库中以编程方式设置选项卡指示器位置

    在我的应用程序中 我使用支持库中的 TabLayout 和视图寻呼机 其中有 3 个片段 假设我在 fragA 中 其中有一个按钮 单击该按钮会将我带到 fragB 我成功地转到 fragB 但唯一的问题是选项卡指示器保留在fragA Co
  • Meteor:读取简单的 JSON 文件

    我正在尝试使用 Meteor 读取 JSON 文件 我在 stackoverflow 上看到了各种答案 但似乎无法让它们发挥作用 我有试过这个 https stackoverflow com questions 22004412 how t
  • 如何使用 WPF 获得本机“外观和感觉”?

    我刚刚开始开发 WPF 应用程序 这不是我的第一个 WPF 应用程序 但它将是第一个需要改进的应用程序 我对 WPF 的 管道 了解很多 例如绑定等 但对如何完善它知之甚少 我不需要时髦的用户界面 我只需要一些看起来像本机 Windows
  • 从 Trello 身份验证中获取“未找到应用程序”

    我正在尝试调用 Trello API 的身份验证部分以获得用户令牌 我正在使用这个网址 https trello com 1 authorize callback method postMessage return url http 3A
  • python 模拟和未安装的库

    我正在为机器人开发软件 该软件通常在 Raspberry Pi 上运行 让我们考虑两个文件的导入 motor py 运行电机 from RPi import GPIO as gpio and client py 与服务器通信并将命令转发给电
  • 检查用户的 Postgres 访问权限

    我已经查看了文档GRANT Found here http www postgresql org docs 9 0 static sql grant html我试图看看是否有一个内置函数可以让我查看数据库的可访问性级别 当然有 dp and
  • 需要 viber webservice 或 api 地址 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 api 或 web 服务可以通过 c net 通过 viber 发送消息并获得交付 我用谷
  • 在 Flink 中,我可以在同一个槽中拥有一个算子的多个子任务吗?

    探索Apache Flink几天了 对Task Slot的概念有些疑惑 虽然有人问了几个问题 但有一点我不明白 我正在使用一个玩具应用程序进行测试 运行本地集群 我已禁用运算符链接 我从文档中知道插槽允许内存隔离而不是 CPU 隔离 阅读文
  • 使用STL的红黑树内部实现

    我知道我的STL g 4 x x附带 使用红黑树来实现地图等容器 是否可以直接使用STL内部的红黑树 如果是这样 怎么办 如果不是 为什么不 为什么STL不公开红黑树 令人惊讶的是 我无法使用谷歌找到答案 编辑 我正在研究使用红黑树作为插入
  • Android - 如何将 html 转换为 pdf? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 Android SDK 中创建 PDF https stackoverflow com questions 2499960 how to create pdfs in android sdk
  • Android:清单合并因多个错误而失败,请使用 Braintree 查看日志

    当我添加时 我收到此错误Braintree dependency 执行失败 for task vtg processDevDebugManifest 清单合并失败并出现多个错误 请参阅日志 Braintree 版本 应用程序 Gradle
  • 旋转图像后如何合并两个图像?

    旋转图像后如何合并旋转图像 我使用下面的代码 它在图像旋转之前工作正常 如何解决这个问题 请帮我 提前致谢 CGRect backgroundImageRect CGRectMake 0 0 0 0 itemSize width itemS
  • 如何使用 Jinja2 模板提供博客摘录而无需显示 html 代码?

    目前 我正在将 jinja2 与 Flask 结合使用 并使用 ckeditor 在数据库中存储了一篇博客文章 理想情况下 数据应首先显示图像 然后显示博客文章和外部链接到 flikr 的其他一些图像 我知道我可以使用 post body
  • Ecto迁移中如何动态更新字段值?

    我有一个用户表 例如 email username email protected cdn cgi l email protection email protected cdn cgi l email protection email pr
  • 用于选择多个记录的良好 UI 示例

    我目前正在重新审视基于 Windows 的软件的一个区域 并考虑将关系从 1 gt M 更改为 M gt M 因此 我需要调整 UI 以适应选择多个相关记录 有很多常见的方法可以处理这个问题 但通常都很笨拙 示例包括所有项目的两窗格列表和所
  • 通过 C# 代码以不同用户身份静默运行 .bat 文件

    我每隔几秒运行一个批处理文件 使用以下代码与服务器进行时间同步 Process process new Process process StartInfo WorkingDirectory Environment GetFolderPath
  • 目标没有战术支持

    我有一些代码 我想在一些策略的帮助下检查它们 因为我有很多if then else声明 我要申请elim term ite tactic 我使用了以下策略 check sat using then simplify arith lhs tr
  • 使用基本 R 进行分组和堆叠条形图

    我想创建一个组合条形图 其中 data1 和 data2 内堆叠 而 data1 和 data2 之间分组在基本 R 图形中 安排上是这样的 data1 lt matrix c 1 5 rep 1 5 rep 4 5 ncol 5 data
  • HTML 重新加载下拉值 JavaScript

    我有一个这样的脚本
  • 如果列值为NULL,如何实现默认值?

    我想用这些条件从表中检索一些列值 如果值为 NULL 或 空字符串 则返回一些用户定义的值 如果不满足条件 则返回其值 我怎样才能弄清楚 这是我的表查询 CREATE TABLE AUCTION CAR BID bid seq bigint