我想排序日期,并使用此代码:升序排序日期
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY TOrder
结果:
1 maikel空
5埃米尔空
4 kabol 1
3 samin 2
2 mihad 3
但我想这样的结果:
4 kabol 1
3 samin 2
2 mihad 3
1 maikel空
5 emil null
请帮我升序排序。
我想排序日期,并使用此代码:升序排序日期
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY TOrder
结果:
1 maikel空
5埃米尔空
4 kabol 1
3 samin 2
2 mihad 3
但我想这样的结果:
4 kabol 1
3 samin 2
2 mihad 3
1 maikel空
5 emil null
请帮我升序排序。
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY CASE WHEN TORDER IS NULL THEN 1 ELSE 0 END,
TOrder
的Linq:
var x = from a in tblOrder
orderby (a.TORDER == null ? 1 : 0), a.TORDER
select a
woooooooow :-)其正确:-)请将此代码转换为LINQ.thx – 2013-03-03 07:44:10
@BakakSaeedi查看我的更新。 – 2013-03-03 07:50:45
尝试使用 “ORDER BY TOrder ASC”。
您可以使用COALESCE
:
SELECT TID, TName, TOrder
FROM tblOrder
ORDER BY COALESCE(TOrder,'9999-12-31 23:59:59.997')
这是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
看一看这个查询和Fiddle
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;
的数据库是你的工作? – 2013-03-03 07:51:08