我在数据库中的数据格式为YY / MM / DD,例如12/05/19。 我需要最早对数据进行排序,并且应该以DD / MM / YYYY格式返回。
我做了这样的事情:
select ocena,to_char(data,'DD/MM/YYYY') datka
from ocena
order by to_char(data,'YYYY')
,但仅在一年内排序。我需要增加几天和几个月的时间。 to_char(data,'DD/MM/YYYY')
的排序无效。
数据
答案 0 :(得分:1)
只需按原始列而不是表达式进行排序:
select ocena,
to_char(o.data, 'DD/MM/YYYY') as datka
from ocena o
order by o.data;
我建议使用表别名来明确指出order by
列是表中的值,而不是由列别名定义的。