对于SQL函数,字符串或二进制数据将被截断

时间:2019-04-12 14:20:27

标签: sql-server tsql

我有一个SQL函数,当传递列时返回一个错误。引发错误

  

字符串或二进制数据将被截断。

我尝试更改函数的长度,但是没有运气。请协助。

该功能检查列中是否包含存储在另一个表中的日语数字。

我将长度从100更改为最大,但是没有运气。

create function [dbo].[NonEnglishJapanese_Confirmity]
    (@String nvarchar(100))
returns nvarchar(100)
as
begin
    declare @Y nvarchar(100), @Z nvarchar(100), 
            @resultset as nvarchar(100)
    set @y = @String 

    set @Z = (select cast(Comma_delimited as nvarchar(100)) 
              from [dbo].[DelimitwithComma](@Y))
    -- print @z

    --select @Z
    set @resultset = (select 'Letters Missing' 
                      from 
                          (select count(*) coun  
                           from 
                               (select a.[Value] 
                                from FnSplit(@Z,',') a 
                                join [non-english Characters] b on a.[value] = b.Japanese
                               ) x
                          ) y 
                      where coun = len(@Y)
                     ) 
    return @resultset
end

enter image description here

1 个答案:

答案 0 :(得分:0)

@resultset as nvarchar(100)的长度更改为最大长度。即@resultset as nvarchar(max)

在上面的查询中,我提到了将变量的长度更改为最大。