返回可在SQL中使用的数据类型的函数(oracle)

时间:2016-01-29 05:41:07

标签: sql oracle plsql

例如我使用的是oracle sql:

SELECT rpad(salary, 10 , '*')
from employees;

在" 10"部分,我希望我可以使用函数直接返回数据类型的字节。 我试过了

SELECT rpad(salary, salary, '*')
from employees;

结果很可怕。

有没有办法,或者我必须在plsql中创建一个函数?

1 个答案:

答案 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