求教高手-根据两列的时间列进行统一[倒序]排序
表中分别有如下所示4个列,其中DialogueTime可能为NULL,ComeTimeC也可能为NULL。但是两列不可能同时为NULL。
要求:DialogueTime若不为NULL,则取DialogueTime进行排序,无视ComeTimeC。
当DialogueTime为NULL时,则取ComeTimeC排序
ID NAME DialogueTime ComeTimeC1 小黑 2012-02-18 08:33:39 2012-02-25 23:57:392 小红 NULL 2015-03-18 08:33:393 小白 2014-03-18 08:33:39 2010-03-18 08:33:394 小青 2012-03-18 08:33:39 NULL5 小紫 NULL 2010-03-18 08:33:39
ID NAME DialogueTime ComeTimeC2 小红 NULL 2015-03-18 08:33:393 小白 2014-03-18 08:33:39 2010-03-18 08:33:394 小青 2012-03-18 08:33:39 NULL5 小紫 NULL 2010-03-18 08:33:391 小黑 2012-02-18 08:33:39 2012-02-25 23:57:39
use Tempdbgo--> --> if not object_id(N'Tempdb..#T') is null drop table #TGoCreate table #T([ID] int,[NAME] nvarchar(2),[DialogueTime] Datetime,[ComeTimeC] Datetime)Insert #Tselect 1,N'小黑','2012-02-18 08:33:39','2012-02-25 23:57:39' union allselect 2,N'小红',null,'2015-03-18 08:33:39' union allselect 3,N'小白','2014-03-18 08:33:39','2010-03-18 08:33:39' union allselect 4,N'小青','2012-03-18 08:33:39',null union allselect 5,N'小紫',null,'2010-03-18 08:33:39'GoSelect * from #T order by isnull([DialogueTime],[ComeTimeC]) desc/*2 小红 NULL 2015-03-18 08:33:39.0003 小白 2014-03-18 08:33:39.000 2010-03-18 08:33:39.0004 小青 2012-03-18 08:33:39.000 NULL1 小黑 2012-02-18 08:33:39.000 2012-02-25 23:57:39.0005 小紫 NULL 2010-03-18 08:33:39.000*/