oracle sql问题rpad函数问题
答案:2 悬赏:20 手机版
解决时间 2021-01-03 21:05
- 提问者网友:人生佛魔见
- 2021-01-03 15:48
create a query that displays the first eight characters of the employees' last names and indicates the amounts of their salaries with asterisks.each asterisk signifies a thousand dollars.sort the data in descending order by of salary.label the cloumn EMPLOYEES_AND_THEIR_SALARIES.
最佳答案
- 五星知识达人网友:孤独的牧羊人
- 2021-01-10 05:44
rpad(str,len,padstr)
返回字符串str,向右填充len个字符的长度的字符串padstr。如果str的长度大于len,则返回值被缩短至len个字符。
select rpad(substr(last_name,1,8),8)|| lpad(' ',salary/1000,'*') from employees order by salary desc
返回字符串str,向右填充len个字符的长度的字符串padstr。如果str的长度大于len,则返回值被缩短至len个字符。
select rpad(substr(last_name,1,8),8)|| lpad(' ',salary/1000,'*') from employees order by salary desc
全部回答
- 1楼网友:酒者煙囻
- 2021-01-10 07:12
先更正你对oracle的substr()的认识
oracle中的 substr(要截取的字符串或者字段,开始位置,长度)
1.其中开始位置 可以是0或者1, 都代表第一个位置 这个和sql不同
2.开始位置可以是负值 代表从后面数
3.长度是可选的...默认不写是截到末尾
这样分析这个函数 你应该明白了....你要截取的是ename的最后3个字符
开始位置从ename的长度-2是正好的... 因为截取是要包含 开始位置的的字符的
==============================================================
你可能和sql的substr混了..oracle的这个和sql的有些地方不同..用起来多注意
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯