gpt4 book ai didi

mysql - 如果空字符串不等于具有字符串值的 MySQL 列,则比较空字符串

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

我不确定这种情况是否只与 Coldfusion 或 Mysql 有关。

如果将 TEXT 类型的列与空字符串值进行比较,如果不相等,则此代码有效:

column > ""

但不是这个:

column != ""

在我的 SQL 代码中,假设 TEXT 类型的数据库列附件中包含字符串。 Input Attachment(:attachment)的Form值为空(我想会引用"")。

attachment = ( 
CASE
WHEN :attachment = "" AND attachment = ""
THEN 1
WHEN :attachment = "" AND attachment != ""
THEN 2
WHEN :attachment != "" AND attachment = ""
THEN 3
WHEN :attachment != "" AND attachment != ""
THEN 4
ELSE attachment
END
)

此代码将返回附件 = 3。

但是,如果我使用此 SQL 代码:

attachment = ( 
CASE
WHEN :attachment = "" AND attachment = ""
THEN 1
WHEN :attachment = "" AND attachment > ""
THEN 2
WHEN :attachment > "" AND attachment = ""
THEN 3
WHEN :attachment > "" AND attachment > ""
THEN 4
ELSE attachment
END
)

此代码返回 attachment = 2,这是我真正期望的。

那么,比较列是否等于或不等于空字符串的最佳方法是什么?我很少使用 NULL 值,因为当保存 FORM 时,它们输入的是空字符串。

最佳答案

我相信你应该使用 <> 而不是 != 并且还应该使用单引号而不是双引号,例如

WHEN :attachment <> '' AND attachment <> ''

关于mysql - 如果空字符串不等于具有字符串值的 MySQL 列,则比较空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44339212/

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