我有一個格式為 DD-MON-YYHH24MISS 的日期/時間。我必須將其轉換為日期,然后按日期按 desc 順序對資料進行排序。以下查詢給出錯誤結果:
SELECT to_date(substring(td."date", 1,10), 'dd-MON-yy') as date from tbl order by date desc;
這里有什么錯誤?我得到日期為“2122-01-08”
uj5u.com熱心網友回復:
您應該采用前九個字符的子字串,而不是十個字符:
SELECT TO_DATE(SUBSTRING("date", 1, 9), 'DD-MON-YY') AS date
FROM tbl
ORDER BY date DESC;
uj5u.com熱心網友回復:
它適用于varchar和timestamp資料型別:
CREATE TABLE tbl ("date" TIMESTAMP);
INSERT INTO tbl ("date") VALUES ('01.01.2022 12:53:21');
INSERT INTO tbl ("date") VALUES ('05.09.2022 21:01:18');
INSERT INTO tbl ("date") VALUES ('22.03.2022 20:13:10');
INSERT INTO tbl ("date") VALUES ('04.05.2022 21:00:00');
SELECT "date"::DATE
FROM tbl
ORDER BY "date"::DATE DESC
回報:
| 日期 |
|---|
| 2022-01-01 12:53:21 |
| 2022-09-05 21:01:18 |
| 2022-03-22 20:13:10 |
| 2022-05-04 21:00:00 |
| 日期 |
|---|
| 2022-09-05 |
| 2022-05-04 |
| 2022-03-22 |
| 2022-01-01 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453950.html
標籤:sql PostgreSQL 日期 铸件
