我有一个问题,如果我有日期作为字符串在一列表的基础上,我想排序到数据库的表。我怎么做这个手术?
create table dateTable (
_id INTEGER,
date varchar2(50),
name varchar2(50)
);
dbms是oracle,如果这很重要的话。
问:那么日期是否有多种格式,比如日期字段中的“dd-mm-yyy”或“mm-dd-yyyy”?
A:是的,用户可以输入任何格式。
最佳答案
再添加一列并插入日期值的格式。在ORDERBY子句中使用该列,方法是使用“to-date(date-value,date-format)”将varchar转换为date
create table dateTable (date_id INTEGER, date_value varchar2(50),
date_name varchar2(50),date_format varchar2(50));
insert into dateTable values (1,'20101212121212','date1','YYYYMMDDHH24MISS');
insert into dateTable values (1,'20101212','date1','YYYYMMDD');
insert into dateTable values (1,'20101213','date3','YYYYMMDD');
select * from dateTable
order by to_date(date_value,date_format) desc