mysql - SQL if value null write x
问题描述
我需要一个允许我编写名为“target”的变量的 SQL 语句,但如果有任何空值,则写入“target2”的内容。现在我有这个。
SELECT TRIM(b.C1) AS TARGET,
TRIM(b.C2) AS TARGET2
FROM "nameOfFile1.csv" a
LEFT JOIN "nameOfFile2.csv" b ON a.JBF_DSC_JOB_FUNC=b.JOB_FUNCTION_DSC
WHERE TRIM(a.JBF_DSC_JOB_FUNC)='$(identity)'
我不知道如何添加类似if (target = null) then write target2
谢谢指教!
解决方案
使用COALESCE()
:
SELECT COALESCE(TRIM(b.C1), TRIM(b.C2)) AS RESULT
FROM "nameOfFile1.csv" a
LEFT JOIN "nameOfFile2.csv" b ON a.JBF_DSC_JOB_FUNC=b.JOB_FUNCTION_DSC
WHERE TRIM(a.JBF_DSC_JOB_FUNC)='$(identity)'
推荐阅读
- arrays - 将上传的图片文件转换为字节数组并发布到后端
- sql - 同一函数之间的 PL/pgSQL 死锁
- php - 我在我的服务器上发现了恶意 PHP 脚本
- ruby-on-rails - 根据 Ruby 中收到的命令调用函数
- node.js - 如何在续集中区分字段状态?
- typescript - 如何在电容器的电子构建中使用 opencv.js?ReferenceError:未定义 cv
- php - 使用 php 在编辑页面中编辑不显示 youtube 链接的记录
- c++ - Qt QRadioButton setChecked
- android - 如何在 Android 中模拟 DateFormat.is24HourFormat() 进行单元测试?
- sql - SQL 语句总和不能达到 100%