すべての行を時系列順にリストする選択クエリを書き込む方法。最後に日付のないレコードが現れる?すべての行を時系列順にリストするクエリを選択しますか?
Create Table Demo(Col1 VARCHAR(10), Col2 SMALLDATETIME NULL)
Insert into Demo Values('TG', '2009-03-08')
Insert into Demo Values('YG', NULL)
すべての行を時系列順にリストする選択クエリを書き込む方法。最後に日付のないレコードが現れる?すべての行を時系列順にリストするクエリを選択しますか?
Create Table Demo(Col1 VARCHAR(10), Col2 SMALLDATETIME NULL)
Insert into Demo Values('TG', '2009-03-08')
Insert into Demo Values('YG', NULL)
あなたが(とあなたのRDBMSがそれをサポートしている)ORDER BY
でCASE
を使用する場合は、NULL値よりも彼らに低い値(0)を割り当てることによって、先のNULLのソートするCol2
ための非NULL値を強制することができます( 1)。 2番目の列はORDER BY
です。Col2
であるため、null以外の日付は昇順でソートされます。
SELECT
Col1,
Col2
FROM Demo
ORDER BY
CASE WHEN Col2 IS NOT NULL THEN 0 ELSE 1 END,
Col2 ASC
あなたの順序で他のすべての後に来るnull値のために大きな価値を提供するために使用ISNULL()
。
SELECT *
FROM Demo
ORDER BY ISNULL(Col2, '2079-1-1')