Не удается получить размер строк с использованием DataLength и жестко закодированных имен столбцов
Я пытаюсь написать запрос SQL, который покажет мне записи, которые имеют наибольший размер, а также имена пользователей, связанные с этой записью.
SELECT
Data.Id,
User.UserName,
(
ISNULL(DATALENGTH(ColumnA), 1) +
ISNULL(DATALENGTH(ColumnB), 1) +
ISNULL(DATALENGTH(ColumnC), 1)
) AS SizeOfRow
FROM Data
LEFT JOIN User ON Data.UserId = User.UserId
ORDER BY SizeOfRow DESC
Когда я запускаю это, я получаю ошибку Conversion failed when converting from a character string to uniqueidentifier.
Я не уверен, где я иду не так, как надо здесь. Если я удалю JOIN
к User
Затем таблица SQL работает без проблем. Тем не менее, я действительно хочу включить UserName
поле, и я не уверен, почему его добавление вызывает проблемы.
РЕДАКТИРОВАТЬ: я должен упомянуть, что ColumnA
это тип данных UniqueIdentifier
, В то время как ColumnB
а также ColumnC
оба varchar(max)
,