2016-06-17 69 views
0

好的,我搜索了有關排序日期列的SQL的每個選項。他們中的大多數表示它不正確排序,因爲該列的類型爲nvarchar。這不是我的情況。SQL Server 2012 - 日期沒有按預期排序

我的表和查詢:

my actual database table as well as the query I used。如圖所示,我希望我在圖像中選擇的列的排列順序正確 - 第7列(對於本地列名,我感到抱歉)但是,事實並非如此。更確切地說,1660行沒有正確排序,而其他所有行都保留在行中。

我嘗試了升序,正如你可能猜到的那樣,1660行保持在最後,無論其他行的值如何。

我也嘗試用類似類型的其他列排序 - 第6,8和9,他們工作正常。

1660行沒有任何特殊的列,也沒有任何特殊的日期。它在6月到7月之間的很多其他行之間。

這些時間列是通過DatetimePicker值使用vb.net插入的。

那麼,有人可以幫我解釋一下這個病例,爲什麼,怎麼樣,或者是什麼原因導致了這種疾病......這讓我感到非常緊張。

回答

3

你的1660行在2106年有一個日期,而不是在2016年。這從看圖像是顯而易見的。這不是格式錯誤或排序錯誤;這是您實際數據中的拼寫錯誤。

+0

哇,謝謝你指出。我一定是失明的,因爲我希望我的用戶能夠插入正確的東西。我想我必須在讓數據進入數據庫之前進行檢查。 是的,再次感謝,我應該得到-1。 – HaPhan