簡體   English   中英

在MySQL查詢中返回NULL值和非NULL

[英]Return NULL values as well as non-NULL in MySQL query

以下是表列的摘錄:

DateCol
…
2009-01-03
2009-01-08
NULL
NULL
2010-01-01
NULL
2010-01-07
NULL
2012-01-01
2012-01-02
2012-01-03
2012-01-04
2012-01-05
2012-01-06
…

當我查詢表並要求返回小於2012-01-01的4個值時,我得到以下結果:

2009-01-03
2009-01-08
2010-01-01
2010-01-07

我當前的查詢大致如下:

SELECT * FROM myDatabase.MyTable WHERE DateCol < "2012-01-01" ORDER BY DateCol LIMIT 4

如何強制查詢也返回NULL值? 我正在尋找一條將在下面產生輸出的語句(請注意順序與表中顯示的順序相同)。 有一個主鍵列指示順序。 有沒有一種方法可以返回值和NULL並“保留”該順序?

2010-01-01
NULL
2010-01-07
NULL

使用IS NULL也可以獲取NULL

SELECT * 
FROM myDatabase.MyTable 
WHERE DateCol < "2012-01-01" OR DateCol IS NULL 
ORDER BY (CASE WHEN DateCol IS NULL then 1 ELSE 0 END)
LIMIT 4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM