Я новичок в SQL Server, поэтому прошу прощения, если мой вопрос кажется слишком простым. Я попытался найти и ответить самостоятельно, но я терплю неудачу. Я пытаюсь создать запрос, который вернет общий размер на диске каждой строки в таблице.Общая длина всех символов во всех столбцах каждой строки
Я думал об использовании dbcc showconting, но он не работает для varchar (max), который появляется в моей таблице. Кроме того, он не возвращает размер для каждой строки, а скорее средний, максимальный и минимальный размер. До сих пор я читал, что невозможно получить запрос, который мог бы показать размер каждой отдельной строки в таблице, поэтому я решил установить для общей длины всех символов в каждом столбце в каждой строке. Косвенно это даст мне представление о размере каждой строки.
У меня есть стол с несколькими столбцами varchar (500) и varchar (max). Я заметил, что некоторые из строк намного больше, чем другие.
Что мне нужно 1000 верхние самые длинные строки в таблице, предпочтительно в выходе показаны два столбца: Колонка 1 показывает EntryID Колонка 2 показывает общую длину символов во всех колонках вместе для этой записи (например, общая длина символов в столбце 1 + общая длина символов в столбце 2 + column3 + column4 и т. д.). Было бы здорово, если бы это могло быть псевдонимом RowLength.
То, что я пытался до сих пор:
SELECT TOP 1000
(LEN(columnname1) + LEN(columnname2) + LEN(columnname3) + LEN(columnname4)) as RowLength,
FROM dbo.tablename
ORDER BY Length Desc
Он работает, но он не показывает идентификатор записи, соответствующий общей длины всех символов в строке. Как его добавить?
Он также не показывает псевдоним для столбца с указанием количества символов в строке.
Не могли бы вы предложить, как я могу изменить запрос, чтобы получить ожидаемый результат? Я буду очень благодарен за любые предложения.
Могу ли я спросить о причине вниз голосования, так что я могу избежать делать ту же ошибку в будущем? – QWE