假設我有一個像Oracle:如何從動態生成的查詢中獲取最大列長度?
select a.column1, b.column2, substr(b.column3,instr(b.column3,',')) as Column3
from tableA a, tableB b
where a.column1 = b.column1
我如何得到這個查詢的每列最大字符長度查詢?
如果表A和tableB的被定義爲
tableA (column1 VARCAHR2(100))
tableB (column1 VARCAHR2(100), column2 INTEGER, column3 VARCAHR2(5000))
我想獲得這些數據:
COLUMN1 : 100
COLUMN2 : 10
COLUMN3 : 5000
請記住,這是一個動態的查詢,有可能是來自任何數量的列限制內的任何數量的表格。
所以你想要填充所有行的列長度? – Utsav
我認爲,就你而言,[解析函數](http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions004.htm#SQLRF06174)可以做到這一點。 'SELECT MAX(LENGTH(a.column1))OVER(PARTITION BY NULL)as max_a_column1_len ...'。 – AndrewMcCoist
@Utsav,我希望每個列的最大可能字符長度爲 – Frank