Sql 字符串或二进制数据将因模糊联接而被截断

Sql 字符串或二进制数据将因模糊联接而被截断,sql,join,inner-join,fuzzy,Sql,Join,Inner Join,Fuzzy,我有下面的查询,我正试图通过所有使用标量值函数的对象,但是我得到的字符串或二进制数据将被截断错误。请帮忙 Select definition From sys.sql_modules M Join (Select name from sys.objects O where type_desc = 'SQL_SCALAR_FUNCTION')T on '%' + T.name + '%'

我有下面的查询,我正试图通过所有使用标量值函数的对象,但是我得到的字符串或二进制数据将被截断错误。请帮忙

Select 
    definition 
From
    sys.sql_modules M
Join
    (Select 
        name 
    from 
        sys.objects O
    where 
        type_desc = 'SQL_SCALAR_FUNCTION')T
on 
     '%' + T.name + '%' Like '%' + M.definition +'%'

返回的某些记录的长度大于目标列的长度。增加目标列的长度。要进一步调试,请在SQL Server上运行下面的查询。这将为您提供避免此错误所需的目标列的最小长度

Select 
    max(len(definition ))
From
    sys.sql_modules M
Join
    (Select 
        name 
    from 
        sys.objects O
    where 
        type_desc = 'SQL_SCALAR_FUNCTION')T
on 
     '%' + T.name + '%' Like '%' + M.definition +'%'
我注意到在一个用户的评论之后,您的模式超过了8000个字符的限制,因为定义列是varchar(max),并且必须超过8000个字符的长度

'%' + T.name + '%' Like '%' + M.definition +'%'

模式-是要在中搜索的特定字符串 匹配_表达式,并且可以包括以下有效通配符 人物。模式最多可以是8000字节

你可能感兴趣的是

SELECT definition
FROM sys.sql_modules AS M
JOIN
(
SELECT name
FROM sys.objects AS O
WHERE type_desc = 'SQL_SCALAR_FUNCTION'
) AS T
ON M.definition LIKE '%'+T.name+'%' 

返回的某些记录的长度大于目标列的长度。增加目标列的长度。要进一步调试,请在SQL Server上运行下面的查询。这将为您提供避免此错误所需的目标列的最小长度

Select 
    max(len(definition ))
From
    sys.sql_modules M
Join
    (Select 
        name 
    from 
        sys.objects O
    where 
        type_desc = 'SQL_SCALAR_FUNCTION')T
on 
     '%' + T.name + '%' Like '%' + M.definition +'%'
我注意到在一个用户的评论之后,您的模式超过了8000个字符的限制,因为定义列是varchar(max),并且必须超过8000个字符的长度

'%' + T.name + '%' Like '%' + M.definition +'%'

模式-是要在中搜索的特定字符串 匹配_表达式,并且可以包括以下有效通配符 人物。模式最多可以是8000字节

你可能感兴趣的是

SELECT definition
FROM sys.sql_modules AS M
JOIN
(
SELECT name
FROM sys.objects AS O
WHERE type_desc = 'SQL_SCALAR_FUNCTION'
) AS T
ON M.definition LIKE '%'+T.name+'%' 

请标记使用的数据库管理系统。(有些非ANSI SQL…)基于查询中使用的元数据,它是SQL Server请标记使用的dbms。(有些非ANSI SQL…)基于查询中使用的元数据,它是SQL Server。没有目标列。没有目标列。