sql - 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
解决方案
推荐阅读
- php - php中的Array_Push总是添加最后一个值
- java - 如何根据正则表达式中的关键字进行拆分,然后在 Java 中使用空格?
- c++ - 在 CMake 的头文件中包含外部头文件
- php - 在 Laravel Blade 中循环时限制 html 元素
- python - 我如何计算打印了多少次?
- powershell - 使用 PowerShell 从 TFS 工作项目(TASK/BUG)下载 SQL 脚本
- python - 如何使用APScheduler添加每天在固定时间开始并在固定时间完成的作业
- node.js - TypeError `[ERR_INVALID_CALLBACK]`:在 NodeJs 上
- apache-kafka - 在 burrow 配置的拒绝列表中添加控制台使用者的原因
- string - 字符串比较总是正确的