sql – 如果field为null,则拉出某些字段;否则,拉其他领域

我有下表:
TestTable  
  ColumnA  
  Column1  
  Column2  
  Column3  
  Column4

我想编写一个简单的sql语句来检查ColumnA,并根据它是否为null返回某些列.

像(伪)的东西:

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)

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...