【发布时间】:2012-03-06 04:47:25
【问题描述】:
我在数据库中有日期,格式为 04-03-12 23:00:00。我如何将其转换为这种格式 16.02.2012 并且仍然是用户订购的?因为当我使用 to_char 时 order by 不能正常工作
【问题讨论】:
我在数据库中有日期,格式为 04-03-12 23:00:00。我如何将其转换为这种格式 16.02.2012 并且仍然是用户订购的?因为当我使用 to_char 时 order by 不能正常工作
【问题讨论】:
日期不会以任何形式存储 - 至少如果您使用的是 DATE 或 TIMESTAMP 格式,您确实应该这样做。您可以只使用order by 中的原始列,例如:
select to_char(date_field, 'DD.MM.YYYY')
from my_table
order by date_field;
如果您将其存储为VARCHAR,我不能强调这将是一件坏事,您必须转换为order by 的日期和DATE 并返回VARCHAR,类似于:
select to_char(to_date(varchar_field, 'DD-MM-RR HH24:MI:SS'), 'DD.MM.YYYY')
from my_table
order by to_date(varchar_field, 'DD-MM-RR HH24:MI:SS')
【讨论】: