首页 > 解决方案 > Varchar 标量函数,返回在 SQL Server 2019 中截断

问题描述

我在 SQL Server 2019 上观察到了这种奇怪的行为。

这是在 SQL Server 2017 中运行良好的查询,但在 SQL Server 2019 中返回截断的文本。

SQL Server 2017 上的结果:

在此处输入图像描述

SQL Server 2019 上的结果:

在此处输入图像描述

SQL:

create or alter function dbo.testScalarFunction
(
    @id int
)
returns varchar(10)    as 
begin
    if(@id = 0)
        return 'zero'
    if(@id = 1)
        return 'one'
    if(@id = 2)
        return 'two'
    if(@id = 3)
        return 'three'
    if(@id = 4)
        return 'four'
    if(@id = 5)
        return 'five'
    if(@id = 6)
        return 'six'

    return 'null'
end
go

declare @intValue table
(
    id int identity(1,1)
    ,val varchar(10)
)

insert into @intValue(val) values ('A')
insert into @intValue(val) values ('B')
insert into @intValue(val) values ('C')
insert into @intValue(val) values ('D')
insert into @intValue(val) values ('E')
insert into @intValue(val) values ('F')
insert into @intValue(val) values ('G')
insert into @intValue(val) values ('H')

select *, dbo.testScalarFunction(id) testScalarFunction
from @intValue

标签: sqlsql-servertsql

解决方案


推荐阅读