簡體   English   中英

SQL查詢時將NVARCHAR轉換為日期時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM