0

我在 varchar.eg. 类型的表中有 start_date 列,

GridSQL -> select start_date,count(*) from table_name group by start_date order by start_date asc;

  start_date
--------------         

  05-FEB-2010       

 11-FEB-2011         

 13-APR-2011          

 13-MAY-2011         

 14-APR-2011         

 14-MAY-2011         

 15-APR-2011         

 15-MAY-2011         

 16-JUN-2011       

 19-JUN-2011       

table_name 的描述是..

GridSQL -> describe table_name;

   COLUMN_NAME      SQL_DATA_TYPE     TYPE_NAME      IS_NULLABLE  KEY 
----------------------------------------------------------------------
 start_date                  12      VARCHAR(1024)        YES     NO           
 A_partynumber               12      VARCHAR(100)         YES     NO           

我需要一个在 GridSQL 中工作的查询,将 start_date 转换为日期格式并按日期排序。为此,我使用了一些查询但没有工作。例如,

GridSQL -> select to_date(start_date,'DD-MON-YYYY') from table_name group by to_date(start_date,'DD-MON-YYYY');

     to_date        
-----------------------

 2010-02-05 00:00:00.0 

 2011-06-19 00:00:00.0 

 2011-05-15 00:00:00.0 

 2011-06-16 00:00:00.0

 2011-04-13 00:00:00.0 

 2011-05-14 00:00:00.0 

 2011-05-13 00:00:00.0 

 2011-02-11 00:00:00.0 

 2011-04-15 00:00:00.0 

 2011-04-14 00:00:00.0 

这里的日期与时间即将到来,日期格式已完全改变。我需要日期为 05-FEB-2010,它给出 2010-02-05 00:00:00.0

所以我期待的是这个

  start_date 
------------------------
 05-FEB-2010 

 11-FEB-2011

 13-APR-2011

 14-APR-2011

 15-APR-2011

 13-MAY-2011

 14-MAY-2011

 15-MAY-2011

 16-JUN-2011

 19-JUN-2011

有没有其他选择可以尝试。

提前致谢

4

1 回答 1

0

试试这个:

select to_char(to_date(start_date,'DD-MON-YYYY'), 'DD-MON-YYYY')
from table_name
order by to_date(start_date,'DD-MON-YYYY') asc
于 2013-07-26T09:12:38.177 回答