Find the length of the longest row in a column in oracle(oracle求一列最长行的长度)
问题描述
有谁知道有没有办法找出最长的长度是多少Oracle 中的一列中的一行?
Does anybody know if there is a way to find what the length of the longest row in a column in Oracle?
基本上我需要得到最长行的长度,然后使用该长度加 1用 SUBSTR
使列的输出比最长的字符串长一个字符.
Basically I need to get the length of the longest row and then use that length plus 1
with SUBSTR
to make the output of the column one character longer than the longest string.
谢谢
谢谢你的建议.
但是,MAX(LENGTH(column_name)) AS MAXLENGTH
方法给了我我想要的数字,但是当我尝试将它与 SUBSTR(column_name,1, MAXLENGTH) 一起使用时
代码> 我收到一个无效的标识符错误.
However, the MAX(LENGTH(column_name)) AS MAXLENGTH
approach gives me the number I want but when I try to use it with SUBSTR(column_name,1, MAXLENGTH)
I get an invalid identifier error.
所以我做了一个函数来返回我想要然后使用的数字:
SO I made a function to return the numberI wanted then used:
SUBSTR(column_name,1,maxlengthfunc)
这给了我以下输出:
SUBSTR(NAME,1,MAXLENGTHFUNC)
而不是:
SUBSTR(NAME, 1, 19)
它并没有像我需要的那样缩小输出列的大小.
And it didn't shrink the output column size like I needed.
还有
RTRIM(name)||' '
在 SQL 开发人员中没有为我做任何事情.
didn't do anything for me in SQL developer.
谢谢.
推荐答案
这将适用于 VARCHAR2 列.
This will work with VARCHAR2 columns.
select max(length(your_col))
from your_table
/
CHAR 列的长度显然都相同.如果该列是 CLOB,您将需要使用 DBMS_LOB.GETLENGTH().如果是 LONG,那真的很棘手.
CHAR columns are obviously all the same length. If the column is a CLOB you will need to use DBMS_LOB.GETLENGTH(). If it's a LONG it's really tricky.
这篇关于oracle求一列最长行的长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:oracle求一列最长行的长度


- SQL 临时表问题 2022-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 更改自动增量起始编号? 2021-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01