在SQLite中使用JDBC获取列大小

时间:2019-02-28 22:43:34

标签: sqlite jdbc

因此,我想知道是否可以在JDBC中检索列大小,例如,如果列类型为varchar(5),它将返回5。我做了一些研究,发现SQLite忽略了该大小,但我仍然迫不及待地想知道我能做到这一点。我尝试了ResultSet.getInt(“ COLUMN_SIZE”)以及Databasemetadata.getColumnDisplaySize(),但仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

您可以使用 length 功能。但是,这将基于每行,因为没有单列大小的概念。因为每行的每一列都具有根据唯一列/行组合中存储的值的特定大小。

  • 请注意,每个列,无论其声明为类型亲缘关系,都可以在任何类型的列中存储任何类型的值(除了rowid列及其别名),并且列类型亲和性本身几乎可以是任何东西,但有一些限制。 How flexible/restricive are SQLite column types?
  • 中对此进行了更全面的解释

例如

var offsetHeight = ( container.offsetHeight ? container.offsetHeight : $(container).outerHeight() );
if  ( container.scrollTop == (container.scrollHeight - offsetHeight) ) {
   // scrolled to bottom
}

您可以使用以下命令获取使用的最大长度。这利用了 max 函数:-

SELECT length(mycolumn) AS column_size FROM mytable;  
  • 这将返回1行,即,仅带有1个参数的max函数是 aggregate 函数,并且GROUP BY实际上是所有行,则实际上有1 GROUP,并且因此返回了1个结果。
  • 您可能会发现以下提供的链接很有用,例如平均可能会有用。