使用DataLength和硬编码列名称获取行的大小失败

时间:2017-05-15 19:21:17

标签: sql-server uniqueidentifier 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字段,我不知道为什么它的添加会导致问题。

编辑:我应该提到ColumnAUniqueIdentifier的数据类型。虽然ColumnBColumnC都是varchar(max)

0 个答案:

没有答案