как получить максимальный размер поля в таблице - PullRequest
7 голосов
/ 19 апреля 2011

У меня есть поле с максимальным размером. Как я могу найти максимальный размер, занимаемый полем.

Например, если записи для таблицы TableA

FieldA

123
abcd
1234567

Мне нужно знать, какой ряд занимает наибольшее количество, а какой размер

Спасибо

Пради

Ответы [ 3 ]

18 голосов
/ 19 апреля 2011

LEN проверяет длину в символах, например, "а" = 1 символ

select max(len(fieldA)) from tbl

DATALENGTH проверяет размер в байтах, NVarchar занимает 2 байта на символ

select max(datalength(fieldA)) from tbl

Чтобы получить все строки в таблице, которые имеют максимальную длину данных в FieldA,

select *
from tbl join (select MAX(LEN(fieldA)) maxlen from tbl) l
    on l.maxlen = LEN(tbl.fieldA)
1 голос
/ 19 апреля 2011
SELECT TOP 1 WITH TIES * 
FROM tbl
ORDER BY len(tbl.fieldA) DESC
0 голосов
/ 01 ноября 2012

Вы можете запросить этот sql

Select Character_Maximum_Length
From INFORMATION_SCHEMA.COLUMNS
Where TABLE_CATALOG Like 'DatabaseName' And TABLE_NAME Like 'TableName' And COLUMN_NAME Like 'FieldName' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...