HH:MMtt(10:20 AM)の時刻を含むPublishTimeという名前のnvarchar(max)フィールドがあります。フィールドは、nvarchar型であるため、order by節では使用できません。どのようにしてこのフィールドに基づいて結果を並べ替えることができますか?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
NVARCHAR(MAX)をDATETIMEにキャストして、ORDER BY句を使用しようとしましたか? –
実際にそのフィールドのデータはフロントエンドのasp.net、Webページ(ドロップダウンリスト)から来ていますので、datetimeにすると、それらのフィールドに時間を格納できなくなり、すでに持っているレコードがlacsになります時間、私は今、タイプを変更する場合、それらの値は保持されますか? – Abbas