gpt4 book ai didi

mysql 1-​​abs(sign(x)) 范式

转载 作者:行者123 更新时间:2023-11-30 22:00:36 25 4
gpt4 key购买 nike

查看一个旧的 MySQL 查询,我发现了以下范例:

colTwo*(1-abs(sign(colOne-3)))

colOne的值为3时,包含colTwo的值(3是一个例子)

对于较新的 MySQL 版本,这已经开始失败,因为 colOne 是无符号的,并且它提示对于 colOne 为 1 或 2 的情况,表达式变为负数。

它似乎可以通过替换为:

colTwo*(colOne=3)

因为比较好像和前面的表达式一样返回1或0

任何人都可以启发(相对)MySQL 新手为什么使用 abs(sign(x)) 范例,而不是直接比较操作?

最佳答案

我认为该表达式的可能替代方案可能涉及一个如下所示的 CASE 表达式:

CASE WHEN colOne = 3 THEN colTwo ELSE 0 END

现在的写法更简洁了。因此,我提供的解释是,之所以选择原始形式和您的解决方法,是因为它们是表达您想要的逻辑的相对精简的方式。

关于mysql 1-​​abs(sign(x)) 范式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518759/

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