gpt4 book ai didi

mysql - 如何反向引用 IF() 中的测试表达式并返回它

转载 作者:行者123 更新时间:2023-11-29 05:48:02 29 4
gpt4 key购买 nike

在 MySQL 中,我需要编写一个 SELECT 子句来计算一个复杂的表达式,如果它的值为空字符串,则返回 NULL,否则返回值(value)本身。

所以,在伪代码中它会是这样的:

SELECT IF(COMPLICATED_EXPRESSION(....), '\0', NULL)

SELECT IF((x=COMPLICATED_EXPRESSION(....))!='', x, NULL)

显然以上都不是有效的 SQL。

我不想重写表达式两次:

SELECT IF(COMPLICATED_EXPRESSION(....), COMPLICATED_EXPRESSION(....), NULL)

这将成为子查询的一部分,因此不能将其拆分为两个查询,一个创建一个变量,另一个使用它。

最佳答案

I need to write a SELECT clause that computes a complicated expression and, if its value is the empty string, it returns NULL, otherwise it returns the value itself.

使用NULLIF() :

select NULLIF(<expression>, '')

如果第一个表达式与第二个表达式匹配,则返回 NULL;否则,它返回第一个表达式。

关于mysql - 如何反向引用 IF() 中的测试表达式并返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57576976/

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