/ / PostgreSQL - Подреждане чрез преобразуван низ - postgresql, date, sqlite3

PostgreSQL - Подреждане по конвертиран низ - postgresql, date, sqlite3

Нов за PostgreSQL, но много добре запознат с негоT-SQL. Трябва да напиша две много прости заявки, които връщат най-старите и най-новите дати от дата_колона в таблицата. Date_column е в TEXT формат "mm / dd / yyyy" (просто е). Опитвам се да направя това в PostgreSQL, като използвам предварително познанията си от T-SQL. За най-новата дата тази заявка правилно ми дава отговор:

select date_column
from my_table
order by date(date_column) desc limit 1;

Въпреки това, промяната на заявката чрез промяна на "desc" на "asc" или изцяло премахване на квалификатора ми дава същия отговор като най-новата дата.

Какво става тук? Чувствам се, въпреки че получих верния отговор за най-новата дата, синтаксисът е неправилен подход. Date_column има много различни стойности, така че това не е случай, че аз съм пренебрегнал това. има еволюирал оттогава :)

Наздраве за всяка помощ предварително.

Отговори:

0 за отговор № 1

Това трябва да работи:

select date_column
from stringdates
order by to_date(date_column, "MM/DD/YYYY") desc limit 1;

select date_column
from stringdates
order by to_date(date_column, "MM/DD/YYYY") limit 1;

виждам SQLFiddle

можете също да проверите тези документи