SQL SELECT使用Null值排序列

FMF*_*MFF 9 sql-server sorting null select sql-order-by

我的问题类似于这个问题:如何按代码显示表顺序(如01,02 ...然后是空列)?,但对于SQL Server.

简而言之,我有一个SELECT语句,它返回以下内容:

ColumnA ColumnB
X       NULL
Y       1
Z       2
Run Code Online (Sandbox Code Playgroud)

..其中排序由ColumnB完成.

我们如何强制(columnB = NULL)类型的行到底?即,预期的结果是这样的:

ColumnA ColumnB
Y       1
Z       2
X       NULL
Run Code Online (Sandbox Code Playgroud)

谢谢SOF社区.

Dan*_*Dan 23

......或者为了避免价值冲突......

SELECT 
   ColumnA, 
   ColumnB
FROM YourTable
ORDER BY 
   CASE WHEN ColumnB IS NULL THEN 1 ELSE 0 END ASC,
   ColumnB
Run Code Online (Sandbox Code Playgroud)

  • +1,但你错过了`CASE`上的`END` (4认同)