例如我使用的是oracle sql:
SELECT rpad(salary, 10 , '*')
from employees;
在" 10"部分,我希望我可以使用函数直接返回数据类型的字节。 我试过了
SELECT rpad(salary, salary, '*')
from employees;
结果很可怕。
有没有办法,或者我必须在plsql中创建一个函数?
答案 0 :(得分:0)
您可以使用以下内容填写整个表格列中的最大数据长度:
select rpad( salary,
max(length(salary)) over (partition by (select null from dual)),
'*')
from employees
或者使用user_tab_columns表中的data_length
达到完全可能的大小select rpad( salary,
(select data_length from user_tab_columns
where table_name = 'EMPLOYEES' and
column_name = 'SALARY' ),
'*') from employees