我有下表:
TestTable
ColumnA
Column1
Column2
Column3
Column4
我想编写一个简单的 SQL 语句来检查 ColumnA 并根据它是否为空返回某些列。
类似于(伪):
If ColumnA Is Null
SELECT ColumnA, Column1, Column2
FROM TestTable
Else
SELECT ColumnA, Column3, Column4
FROM TestTable
有什么想法吗?
最佳答案
使用 SQL CASE 表达式:
SELECT
ColumnA,
CASE WHEN ColumnA IS NULL THEN Column1 ELSE Column3 END AS ColumnB,
CASE WHEN ColumnA IS NULL THEN Column2 ELSE Column4 END AS ColumnC
FROM
TestTable
参见:
CASE (SQL-Server Transact-SQL)
CASE Expressions (Oracle)
关于sql - 如果field为null,则拉取某些字段;否则,拉取其他字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214554/