在SELECT DISTINCT我將 adatetime轉換為DD/MM/YYYY格式時,我想按相同的欄位進行排序。轉換后,原始值將因以下錯誤而無法訪問:
如果指定了 SELECT DISTINCT,則 ORDER BY 專案必須出現在選擇串列中
當前代碼如下所示:
SELECT DISTINCT
CONVERT(varchar, dateLink.datCreated, 103) AS LastPaymentDate
FROM
Person p
INNER JOIN
Payment dateLink ON p.paymentID = dateLink.ID
ORDER BY
dateLink.datCreated
上面的代碼顯示了我提到的錯誤。我嘗試按運行的別名進行排序,但因為它是一個 varchar,它只按天排序(我認為?無論哪種方式都不能正確排序)。我還能做其他轉換嗎?我需要日期在表格中DD/MM/YYYY時采用某種格式( )。查詢還需要按日期排序。datetimeDD/MM/YYYY HH:mmDESC
uj5u.com熱心網友回復:
您可以將 datetime 列轉換為 date 而不是 varchar 然后在表示層中您可以根據需要對其進行格式化:
SELECT DISTINCT
CONVERT(date, dateLink.datCreated, 103) AS LastPaymentDate
FROM
Person p
INNER JOIN
Payment dateLink ON p.paymentID = dateLink.ID
ORDER BY
LastPaymentDate
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/504675.html
