C# 升序排序日期
我需要排序日期,并使用以下代码:C# 升序排序日期,c#,sql,linq,sorting,C#,Sql,Linq,Sorting,我需要排序日期,并使用以下代码: SELECT TID, TName, TOrder FROM tblOrder ORDER BY TOrder 结果: 1迈克尔零 5埃米尔零 4卡波尔1 3萨明2 2米哈德3 但我想要这个结果: 4卡波尔1 3萨明2 2米哈德3 1迈克尔零 5埃米尔零 请帮我进行升序排序 SELECT TID, TName, TOrder FROM tblOrder ORDER BY CASE WHEN TORDER IS NULL T
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY TOrder
结果:
1迈克尔零
5埃米尔零
4卡波尔1
3萨明2
2米哈德3
但我想要这个结果:
4卡波尔1
3萨明2
2米哈德3
1迈克尔零
5埃米尔零
请帮我进行升序排序
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY CASE WHEN TORDER IS NULL THEN 1 ELSE 0 END,
TOrder
这是SQL Server最简单的方法:
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY isnumeric(TOrder) DESC, TOrder
对于MySQL和PostgreSQL等其他数据库,有一个更简单的解决方案:
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY TOrder IS NULL, TOrder
对于Oracle和PostgreSQL而言,这是可行的,并将利用TOrder上可能的索引:
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY TOrder ASC NULLS LAST
查看此查询并
Wooooow:-)ok:-)请将此代码转换为LINQ.thx您使用的是哪个数据库?
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY TOrder IS NULL, TOrder
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY TOrder ASC NULLS LAST
SELECT TID, TName, TOrder INTO #TempTab
FROM tblOrder
WHERE TOrder IS NOT NULL
ORDER BY TOrder
SELECT * FROM #TempTab
UNION ALL
SELECT TID, TName, TOrder
FROM tblOrder
WHERE TOrder IS NULL;