2012-01-24 2 views
-1

Можно создать дубликат:
how to find rowsize in tableВычисление длины каждой записи в таблице

как вычислить длину каждой записи в таблице (SQL Server 2008)

+1

Что вы имеете в виду 'record'? Всего строк? Включая внутренние накладные расходы? Также представьте свое определение таблицы. Если он не включает столбцы потенциально не строки, существует простой способ. –

+0

То есть запись в качестве кортежа или строки – user824910

+0

CREATE TABLE #TEMP ( \t RollID INT, \t Имя NVARCHAR (100), \t Класс NVARCHAR (100) ) – user824910

ответ

1

Попробуйте LEN() вместо DATALENGTH()

SELECT LEN(yourcolumnName) AS LengthOfEntry From yourtablename 

Это дает вам длину каждой записи в этом столбце

Просто струнные их вместе для каждого столбца, чтобы получить записи для всей таблицы

Пример:

SELECT LEN(yourcolumnName) as Column1, LEN(yourcolumnname2) AS Column2 From yourtablename 

Вы можете использовать SUM() для получить общее количество всех символов в этой колонке

SELECT SUM(LEN(yourcolumnName)) as Column1, SUM(LEN(yourcolumnname2)) AS Column2 From yourtablename 
+0

Он ищет общий размер строки; это только для одного столбца. – Yuck

+0

DATALENGTH не даст вам точной длины ... для INT длина всегда 2, несмотря на изменения в значении. Я хочу использовать эту длину для обнаружения изменений в строке – user824910

+0

Это правда, я оставлю ответ, так как я любопытно об этом. При выполнении varchars, делящем на 2, вы получаете точную длину этой строки. Я не могу экспериментировать с Ints прямо сейчас, где еще может возникнуть проблема такого типа решения? – sealz

0

как это может помочь мне отслеживать изменения обновления в этой строке .. или найти ли строка модифицирована

Вы ищете триггера, я думаю. Это поможет вам в определении изменений, внесенных в любой записи ..

Triggers Reference

Смежные вопросы