我在试着写一份试算报告,
并且我有一个名为'PERIOD_NAME‘的字段,它存储会计期间名称,
我的问题是:是否可以将“PERIOD_NAME”即"VARCHAR2“转换为"DATE”,以便对月份进行排序,从而得到以下结果
jan- 16
jan- 17
Feb- 16
Feb- 17发布于 2017-11-21 21:35:27
我想这就是你要找的东西?基本上,我使用to_date将周期名称转换为日期,然后分别提取月份和年份以在排序中使用。希望这能有所帮助!
Data
CREATE TABLE my_table
(
col1 VARCHAR2(10)
) ;
INSERT INTO my_table VALUES ('jan- 16');
INSERT INTO my_table VALUES ('jan- 17');
INSERT INTO my_table VALUES ('Feb- 16');
INSERT INTO my_table VALUES ('Feb- 17');解决方案
SELECT t.*
FROM my_table t
ORDER BY to_char(to_date(col1, 'mon- yy'), 'mm'),
to_char(to_date(col1, 'mon- yy'), 'yy')结果
COL1
1月16日
1月17日
2月-16日
2月-17日
https://stackoverflow.com/questions/47413771
复制相似问题