[英]SQL Convert NVARCHAR to Datetime on Query
我有一個SQL函數可以檢索數據,但是我在數據庫上有一個問題,那個以前處理過的人使該字段成為NVARCHAR而不是DATETIME,所以現在我無法整理日期或在范圍之間選擇數據。
假設我有一個查詢:
Select order_confirmation.oc_number as oc,
order_confirmation.count as cnt,
order_confirmation.status as stat,
order_confirmation.po_number as pon,
order_summary.date_delivered as dd,
order_summary.delivery_quantity as dq,
order_summary.is_invoiced as iin,
order_summary.filename as fn,
order_summary.invoice_number as inum,
order_summary.oc_idfk as ocidfk,
order_summary.date_invoiced as di
FROM
order_confirmation,order_summary
where order_confirmation.id = order_summary.oc_idfk
order by order_summary.date_delivered DESC
我想將order_summary.date_delivered轉換為DATETIME格式,以便ORDER BY語句可以正常工作。 請注意,我不想僅在查詢中永久更改數據庫結構中的數據類型。我嘗試搜索並嘗試使用其他解決方案,但無法正常工作,而且我還不熟悉SQL Server。
謝謝
助手:
在您的order by子句中使用:
order by convert(datetime,order_summary.date_delivered, X)
X = 100,101,102 ...取決於您希望使用的格式
在這里您可以看到有關轉換功能的更多詳細信息
已更新,基於Iconic的優點,並希望更正您的溢出問題,將格式105與CONVERT
Select order_confirmation.oc_number as oc,
order_confirmation.count as cnt,
order_confirmation.status as stat,
order_confirmation.po_number as pon,
order_summary.date_delivered as dd,
order_summary.delivery_quantity as dq,
order_summary.is_invoiced as iin,
order_summary.filename as fn,
order_summary.invoice_number as inum,
order_summary.oc_idfk as ocidfk,
order_summary.date_invoiced as di
FROM
order_confirmation,order_summary
where order_confirmation.id = order_summary.oc_idfk
order by CONVERT(datetime, order_summary.date_delivered, 105) DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.