Ich habe ein Nvarchar (max) -Feld namens PublishTime, die die Zeit in HH enthält: MMtt (10:20 AM), jetzt möchte ich die Ergebnisse basierend darauf sortieren Feld, aber wie es der Nvarchar-Typ ist, kann ich es nicht für die Reihenfolge nach Klausel verwenden, kann mir jemand helfen, wie kann ich Ergebnisse basierend auf diesem Feld sortieren.Sortierung Datensätze auf der Grundlage der Zeit, die Nvarchar ist (max) Typ
ich unten Abfrage versucht, die Konvertierungsfehler
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
Können Sie den Datentyp dieses Feldes ändern? – AdaTheDev
Haben Sie versucht, den NVARCHAR (MAX) in DATETIME zu konvertieren, um dann die ORDER BY-Klausel zu verwenden? –
tatsächlich Daten für dieses Feld kommt von Front-End asp.net, Webseite (Dropdown-Liste), wenn ich es datetime machen, ich werde nicht in der Lage sein, die Zeit in diesen Bereichen zu speichern, und ich habe auch lacs von Datensätzen, die bereits haben Zeit, wenn ich jetzt den Typ ändere, werden diese Werte beibehalten? – Abbas