Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 升序排序日期_C#_Sql_Linq_Sorting - Fatal编程技术网

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
林克:

尝试使用“TOrder ASC订购”

您可以使用:


这是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;