我有一個名爲PublishTime的nvarchar(max)字段,其中包含HH:MMtt(10:20 AM)中的時間,現在我想基於此排序結果字段,但因爲它是nvarchar類型,我不能將它用於子句順序,任何人都可以幫助我如何根據此字段對結果進行排序。基於nvarchar(max)類型的時間排序記錄
我想下面的查詢其拋出轉換錯誤
select c.PublishDate, c.PublishTime from CrossArticle_Article c
inner join CrossArticle_ArticleToCategory a2c
on c.Id = a2c.ArticleId
inner join CrossArticle_Category cc
on a2c.CategoryId = cc.Id
where cc.Id = 86 order by c.PublishDate, convert(nvarchar(max), cast(c.PublishTime as time)) desc
你可以改變該字段的數據類型嗎? – AdaTheDev 2012-03-23 20:38:50
您是否嘗試將NVARCHAR(MAX)轉換爲DATETIME,然後使用ORDER BY子句? – 2012-03-23 20:40:41
實際上該字段的數據來自前端asp.net,網頁(下拉列表),所以如果我把它做成日期時間,我不會能夠在這些字段中存儲時間,而且我也有記錄已經有時間,如果我現在改變類型,這些值會保留下來嗎? – Abbas 2012-03-23 20:41:42