首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用日期字段对数据库进行排序?

问如何使用日期字段对数据库进行排序?
EN

Stack Overflow用户
提问于 2010-12-07 06:38:56
回答 7查看 11.5K关注 0票数 2

我有疑问,如果我在表的某一列中将日期作为字符串,那么我希望将表排序到数据库中。我怎么做这个手术?

代码语言:javascript
复制
create table dateTable (
    _id INTEGER, 
    date varchar2(50), 
    name varchar2(50)
);

数据库管理系统是Oracle,如果这很重要的话。

问:那么日期会有多种格式吗,比如日期字段中的“dd”或“mm”?

是的,用户可以输入任何格式。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-12-07 07:22:07

再添加一列并插入日期值的格式。通过使用"to_date(date_value,date_format)“将varchar转换为日期,在order子句中使用该列

代码语言:javascript
复制
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
票数 3
EN

Stack Overflow用户

发布于 2010-12-07 10:11:54

将数字存储在数字数据类型中,字符串存储在字符数据类型中,日期存储在日期数据类型中。如果您做错了任何其他方法,并且您将对数据库进行操作,这反过来又会使看起来像一样对您不利。(我认为这是刚刚发生的)。

至于你的问题,你只需按日期栏订购。如果行以“错误”的顺序出现,请再读一遍前一段。

代码语言:javascript
复制
select *
  from dateTable 
 order by date;
票数 3
EN

Stack Overflow用户

发布于 2010-12-07 07:06:57

从dateTable ORDERBy to_dateto_date中选择*(日期,'yyyymmdd');

或从dateTable ORDERBy to_dateto_date(日期)中选择*;

to_date函数的语法是:

代码语言:javascript
复制
to_date( string1, [ format_mask ], [ nls_language ] )

string1是将转换为日期的字符串。

format_mask是可选的。这是用于将string1转换为日期的格式。

nls_language是可选的。这是nls语言,用于将string1转换为日期。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4374013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档