mysql - 在 SELECT 语句中使用 "IF"检查是否存在另一列

标签 mysql sql

我使用 INSERT 所有 SELECTED 数据到一个新表,但我添加了额外的字段 IDS_EXIST 并确定每个数据是否有它们的 ID NOT NULL INSERT 'Y' 但如果其中一个变为 NULL 我将 INSERT 'N'

是否可以在 select 语句中使用这样的 if 条件?

SELECT IF(C.ID != NULL AND C.UID != NULL AND C.SID != NULL,'Y','N'),
       C.NAME,
       C.ADDRESS,
       C.DATE 
FROM CLAIMS C

因为我知道 IF 条件可以像这样使用

SELECT IF('condition','value if true','value if false')

我多次反转我的查询,但仍然在查询中遇到语法错误

最佳答案

是的,只要您使用 IS NOT NULL 就可以使用(working with NULL values)。

You cannot use arithmetic comparison operators such as =, <, or <> to test for NULL.

SELECT IF(1 != 2 AND 1 != NULL,'Y','N')

返回 N

SELECT IF(1 != 2 AND 1 IS NOT NULL,'Y','N')

返回 Y

关于mysql - 在 SELECT 语句中使用 "IF"检查是否存在另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375655/

相关文章:

javascript - Sequelize 如何比较查询中日期的年份

mysql - 如果不存在插入表mysql问题

MySQL 无法正确获取 PROCEDURE 中的参数值

sql - PostgreSQL 中按数组重叠分组

mysql - SQL 合并相差 1 个参数的行

MySQL - 获取所有带有标签的帖子(不同的)

MySql 存储过程帮助

mysql - 当使用 CASE 计数时,Django (w/MySQL) 只进行 1 次表查找还是多次查找

mysql - 如何在单个选择查询中进行多个选择查询。

sql - 使用串联和 LIKE 查询性能