Получение размера столбца с помощью JDBC в SQLite - PullRequest
0 голосов
/ 01 марта 2019

Так что мне было интересно, могу ли я в любом случае получить размер столбца в JDBC, например, если тип столбца varchar (5), он вернется 5. Я провел некоторое исследование и обнаружил, что SQLite игнорирует размер, но я все ещеумираю, чтобы узнать, есть ли в любом случае, я мог бы достичь этого.Я попытался ResultSet.getInt ("COLUMN_SIZE"), а также Databasemetadata.getColumnDisplaySize (), но он все еще не работает.

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете использовать функцию length .Тем не менее, это будет для каждой строки , так как отсутствует концепция единого размера столбца;поскольку каждый столбец в строке имеет определенный размер в соответствии со значением, хранящимся в уникальной комбинации столбец / строка.

  • обратите внимание, что в каждом столбце независимо от объявленного сходства типов может храниться значение любого типа в любом типе столбца (кроме столбца rowid и, следовательно, его псевдонима) и чтоСродство с типом столбца может быть практически любым с некоторыми ограничениями.Это более подробно объясняется в Насколько гибкими / ограничительными являются типы столбцов SQLite?

например,

SELECT length(mycolumn) AS column_size FROM mytable;  

Вы можете использовать следующее, чтобы получить максимальную длинуиспользуемый.При этом используется функция max : -

SELECT max(length(mycolumn)) AS max_column_size FROM mytable;
  • , это вернет 1 строку, т. Е. Функция max с одним параметром равна агрегатная функция и то, что GROUP BY фактически является всеми строками, тогда фактически получается 1 GROUP, и, таким образом, возвращается 1 результат.
  • вы можете найти полезными следующие предоставленные ссылки, например: avg может быть полезным.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...