![]() |
1
9
取决于数据类型和列的可能值:
诀窍是找到一个值(这里我使用-1),它将 从未 出现在数据中。 另一种方法是:
这可能是一个问题,具体取决于您的特定RDBMS如何处理空值。按照美国国家标准协会的标准,这应该给你想要的,但谁遵守标准无论如何。:) P.S.-我还应该指出,在比较列时使用coalesce函数可能会使索引的使用失效。检查您的查询计划和查询的性能,看看是否有问题。 P.P.S.-我刚注意到OMG小马提到Informix不支持合并。我相信这是一个ANSI标准函数,但是看看我上面说的关于标准的内容… |
![]() |
2
3
我会亲自写出你想出的表达方式,特别是如果桌子预计会变大的话。在函数调用中包装列会损害性能,因为这样引擎就不能在这些列上使用任何索引。当然,在一个小的表中,这可能不是什么问题,但我仍然喜欢以明确的方式进行,以防表最终增长。 |
![]() |
3
1
你能在Informix中尝试类似的方法吗?
|
![]() |
4
0
如果您想确定如何处理空值,则必须使用Informix支持的任何内容来检查空值。除了SE版本不支持Coalesce之外,我还没有找到其他版本,但它确实支持decode和case。
|
![]() |
5
0
对于SQL Server,请使用:
|
![]() |
6
0
问题是
你可以说:
但是,无论哪种方式都需要这样做,这可能是您滥用了空值的迹象,应该考虑更改架构,使用其他非空值来表示这个可比较的条件。
例如,如果你有一个
|
![]() |
7
0
IBMInformixDynamicServer由于各种历史原因(也叫“坏”)对布尔值有一种特殊的看法。修改@astander建议的想法,这个案例表达式“有效”,但我会第一个说“不明显”(见-我在你之前说过!)。设置阶段:
select语句:
此查询的结果是:
问题:
是的,这让我非常痛苦。 |
![]() |
8
0
如果
是为了平等,那为什么不使用:
为了不平等? |
![]() |
saber · MySql查询没有结果 3 年前 |
![]() |
pigfox · Mysql空表联接失败 7 年前 |
![]() |
Jaa Zaib · 返回空值的大小写表达式 7 年前 |
![]() |
Robert Vogelezang · 为什么null未写入输出窗口? 7 年前 |
![]() |
l. schwarz · sql长度(null) 7 年前 |
![]() |
ÇAÄrı Keskin · SQL-删除(消除)没有数据的列 7 年前 |
|
Dorkymon · 使用系统在输出处获取null。出来打印F 7 年前 |