SELECT * ISNULL(column1, column2)
FROM [Table1]
但现在,如果第二列(column2(也有NULL值,他需要忽略它,我该如何处理?
非常感谢!!
ISNULL将为您做到这一点。
SELECT ISNULL(Modified, Created) as LastTouched
FROM Table
如果modified为null,created为null,则LastTouched将为null。
如果您想在两个值都为null的情况下过滤行,那么您需要使用where子句
SELECT ISNULL(Modified, Created) as LastTouched
FROM Table
WHERE Modified IS NOT NULL OR Created IS NOT NULL
顺便说一句,查询中有一个语法错误:select子句中的星号后面缺少一个逗号。它必须看起来像这样:
SELECT *, ISNULL(column1, column2)
FROM [Table1]
聚结适用于多个列/值。如果只对两个值使用它,则不确定是否存在任何性能差异。
编辑:是的,我的问题是——如果你想要Modified或Created都不为null的行,但不是两者都为null,那么你应该在查询中使用or——我在示例中已经解决了这个问题。感谢@GarethD