Sql 如何对子字符串中的属性进行排序?

Sql 如何对子字符串中的属性进行排序?,sql,oracle11g,Sql,Oracle11g,假设我有一个这样的表(3列) 我想要一个类似以下内容的查询: select date, number||,'-'||year order by date 但在串联中,我希望结果按数字顺序排列 因此,输出将如下所示: date number_year 1/1/2015 11-2015 1/1/2015 17-2015 2/1/2015 15-2015 3/1/2015 14-2015 我如何实现这一点 在order by子句中可以有多个条件,请参

假设我有一个这样的表(3列)

我想要一个类似以下内容的查询:

select date,
       number||,'-'||year
order by date
但在串联中,我希望结果按数字顺序排列

因此,输出将如下所示:

date       number_year
1/1/2015   11-2015
1/1/2015   17-2015
2/1/2015   15-2015
3/1/2015   14-2015   

我如何实现这一点

在order by子句中可以有多个条件,请参阅oracle文档:

所以你可以通过id,号码,年份来订购
例如

您能否在样本数据中添加(2015年4月2日)和(2015年5月101日),并调整预期结果?顺便提一下数字和年份的哪些数据类型?按数字排序,年份?是的,按这两列排序预期结果将是(1,112015)(1,172015)(2,152015)(3,142015)(4,12015)(51232015)。问题是当id相同时,您尝试“按数字排序,年份”吗?
date       number_year
1/1/2015   11-2015
1/1/2015   17-2015
2/1/2015   15-2015
3/1/2015   14-2015