select语句中的列可以用什么来代替
今天看了一个复杂的语句,终于理解了,原来select语句中后面所有的列名可以用 返回结果的函数(好像都返回一个结果)来代替。 因为列名所代表的就是一个记录的属性,属性相当于变量(面向对象中即是如此)函数返回的一个结果是不确定的,所以它整体可以看做是一个变量。那么
select ename, substr(to_char(hiredate,'yyyy-mm-dd'),0,4),substr(to_char(hiredate,'mm-dd-yy'),0,2)
from emp order by
to_number(substr(to_char(hiredate,'mm-dd-yy'),0,2)),to_number(substr(to_char(hiredate,'yyyy-mm-dd'),0,4))
就是合理的。
该题目原题如下:
显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则
将最早年份的员工排在最前面.
千里之行,始于足下
做自己热爱的工作,才能实现人生价值
热情在没有天赋的情况下,也能给予人巨大的力量
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步