gpt4 book ai didi

mysql - 类似 isnull() 的函数来检查零值

转载 作者:行者123 更新时间:2023-11-29 01:07:27 24 4
gpt4 key购买 nike

我正在寻找一个函数来检查列是否具有值 0,其行为类似于 isnull() 函数。

这是我目前所得到的:

CONCAT(
SUBSTRING_INDEX(
SUBSTRING(textCol, 1,
LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol)-1),
'|',
-1),
SUBSTRING(
textCol,
LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol),
IFNULL(
LOCATE( /* this will return 0 if it's the last entry */
'|',
textCol,
LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol)
) - LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol),
LENGTH(textCol))))

textCol 中的数据有点像一个 CSV 文件,每列中都有另一个 CSV 文件。每个数据集由 | 分隔,而其中的每个数据集由 && 分隔。内部字段是名称、日期,如 '%d.%m.%Y %H:%i' 和评论。

我想提取与我在 dateCol 中得到的某个 DATETIME 相对应的数据集。问题是,如果我要查找的是 textCol 中的最后一个条目,则 LOCATE(请参阅评论)返回 0。但这会破坏我的 SUBSTRING 所以只返回条目的前半部分。

我添加了一个 ISNULL(),当然它在这里什么都不做。我想做的是有一些类似于 ISNULL() 的东西,类似于 || Perl 中的运算符行为。

可能有更好的方法来实现我想要的。请不要犹豫告诉我。

最佳答案

在这里可能有用:有一种时髦的方法可以检查表达式是否为 NULL 0:

IFNULL(NULLIF(expr, 0), alt_expr)

如果 expr 为 NULL 或 0,则返回 alt_expr,否则返回 expr

关于mysql - 类似 isnull() 的函数来检查零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10246993/

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