我有Name
和Sal
列,我应该创建一个Name
字符串,然后根据工资(1000 $ = *)输入*,例如
Clark | 5000$
Smith | 4000$
看起来像:
EMPLOYEES_AND_THEIR_SALARIES
-------------------------------
Clark *****
Smith ****
感谢您的回复。
答案 0 :(得分:1)
您可以将rpad()
用于此目的。假设薪水存储为数字:
select name, rpad('*', salary / 1000, '*')
答案 1 :(得分:1)
以下内容将提供您正在寻找的结果:
SELECT NAME, RPAD('*', TRUNC(SAL / 1000), '*')
FROM YOUR_TABLE
祝你好运。
答案 2 :(得分:0)
据我所知,下面的内容应该足以满足您的需求。
select first_name ||' '|| rpad('**',length(salary),'*') Name from employee;
See Demo;
表数据
SQL> select first_name , salary ,length(salary) from employee;
FIRST_NAME SALARY LENGTH(SALARY)
-------------------- ---------- --------------
Dan 1234 4
Helen 3213 4
Akiko 9000 4
Jackie 40000 5
XING 40000 5
输出:此处*
与工资长度相同。
SQL> select first_name ||' '|| rpad('**',length(salary),'*') Name
from employee ;
NAME
--------------------------------------------------------------------------------
Dan ****
Helen ****
Akiko ****
Jackie *****
XING *****
答案 3 :(得分:0)
CREATE TABLE replicate_example (
Salary INT
)
INSERT INTO dbo.replicate_example
( Salary )
VALUES ( 3000 ), (5000)
SELECT CAST(Salary AS NVARCHAR) + ' ' + REPLICATE('*',Salary / 1000) FROM dbo.replicate_example
答案 4 :(得分:0)