gpt4 book ai didi

mysql - 如何以编程方式选择要在 WHERE 条件中使用的列?

转载 作者:行者123 更新时间:2023-12-01 00:19:50 24 4
gpt4 key购买 nike

我有一个表 table,它包含三个字段:idfield1field2

我需要创建的 SQL 查询应该选择 id WHERE field1 LIKE 'Some string' 但如果 field1 NULL 我应该在伪 SQL 中对 field2 执行过滤:

SELECT id FROM table
WHERE (IF `field1` IS NULL THEN `field2` ELSE `field1`) LIKE 'Some string'

如何在 MySQL 中实现这一点?

感谢关注!

最佳答案

您可以使用 Flow Control Operators 之一.你可以这样写:

CASE 运算符(推荐)

SELECT id FROM table
WHERE CASE
WHEN `field1` IS NOT NULL THEN `field1`
ELSE `field2`
END LIKE 'Some string'

IF 构造

SELECT id FROM table
WHERE IF(`field1` IS NOT NULL, `field1`, `field2`) LIKE 'Some string'

IFNULL 构造

SELECT id FROM table
WHERE IFNULL(`field1`, `field2`) LIKE 'Some string'

关于mysql - 如何以编程方式选择要在 WHERE 条件中使用的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33956247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com