ele*_*eep 16 sql oracle plsql oracle-sqldeveloper
有没有人知道是否有办法找到Oracle中列中最长行的长度?
基本上我需要得到最长行的长度,然后使用该长度加上1 SUBSTR
来使列的输出比最长的字符串长一个字符.
谢谢
编辑:
感谢您的建议.
但是,这种MAX(LENGTH(column_name)) AS MAXLENGTH
方法给了我想要的数字但是当我尝试使用它时,SUBSTR(column_name,1, MAXLENGTH)
我得到一个无效的标识符错误.
所以我做了一个函数来返回我想要的数字然后使用:
SUBSTR(column_name,1,maxlengthfunc)
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出:
SUBSTR(NAME,1,MAXLENGTHFUNC)
Run Code Online (Sandbox Code Playgroud)
而不是:
SUBSTR(NAME, 1, 19)
Run Code Online (Sandbox Code Playgroud)
并没有像我需要的那样缩小输出列的大小.
也
RTRIM(name)||' '
Run Code Online (Sandbox Code Playgroud)
在SQL开发人员中没有为我做任何事情.
谢谢.
APC*_*APC 30
这将适用于VARCHAR2列.
select max(length(your_col))
from your_table
/
Run Code Online (Sandbox Code Playgroud)
CHAR列显然都是相同的长度.如果列是CLOB,则需要使用DBMS_LOB.GETLENGTH().如果它很长,那真的很棘手.
SELECT max(length(col_name)+1) as MyOutput
FROM table_Name
Run Code Online (Sandbox Code Playgroud)
正常输出看起来像
MyOutput
1 5
Run Code Online (Sandbox Code Playgroud)
新的输出看起来像
MyOutput
1 6
Run Code Online (Sandbox Code Playgroud)