PostgreSQL-按转换的字符串排序
PostgreSQL是全新的,但非常熟悉T-SQL。我需要编写两个非常简单的查询,从表中的date_列返回最早和最新的日期。“日期”列的文本格式为“mm/dd/yyyy”(仅此而已)。我试图在PostgreSQL中使用我从T-SQL获得的先验知识来实现这一点。对于最新日期,此查询正确地给出了答案:PostgreSQL-按转换的字符串排序,postgresql,date,sqlite,Postgresql,Date,Sqlite,PostgreSQL是全新的,但非常熟悉T-SQL。我需要编写两个非常简单的查询,从表中的date_列返回最早和最新的日期。“日期”列的文本格式为“mm/dd/yyyy”(仅此而已)。我试图在PostgreSQL中使用我从T-SQL获得的先验知识来实现这一点。对于最新日期,此查询正确地给出了答案: select date_column from my_table order by date(date_column) desc limit 1; 但是,通过将“desc”更改为“asc”或删除限定
select date_column
from my_table
order by date(date_column) desc limit 1;
但是,通过将“desc”更改为“asc”或删除限定符来修改查询,可以得到与最新日期相同的答案
这是怎么回事?我觉得即使我得到了最新日期的正确答案,语法也是不正确的。date_列有许多不同的值,因此我不会忽略这一点。我看到一篇非常古老的(~2010年)帖子使用子字符串解析日期,我内心的乐观主义者认为Postgre从那时起就已经进化了:)
提前为任何帮助干杯。这应该可以:
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;
看
你也可以看看这些