2

ソート日が必要で、次のコードを使用します。

SELECT     TID, TName, TOrder
FROM         tblOrder
ORDER BY TOrder

結果:

1 maikel null

5エミルヌル

4カブール1

3サミン2

2ミハド3

しかし、私はこの結果が欲しいです:

4カブール1

3サミン2

2ミハド3

1 maikel null

5エミルヌル

昇順で私を助けてください。

4

5 に答える 5

5
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
于 2013-03-03T07:40:28.813 に答える
0

「ORDERBYTOrderASC」を使用してみてください。

http://www.w3schools.com/sql/sql_orderby.asp

于 2013-03-03T07:40:30.143 に答える
0

あなたが使用することができますCOALESCE

SELECT     TID, TName, TOrder
FROM         tblOrder
ORDER BY COALESCE(TOrder,'9999-12-31 23:59:59.997')
于 2013-03-03T07:40:45.103 に答える
0

これは、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
于 2013-03-03T07:42:48.800 に答える
0

このクエリとフィドルを見てください

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-03T07:59:06.807 に答える