使用 SQL Server,假设您将十进制存储为 nvarchar,并且您想使用“like”将其与另一个 nvarchar 进行比较。假设您提供有效数字,这应该没问题(尽管不理想):
declare @test1 nvarchar(18);
declare @test2 nvarchar(18);
set @test1 = '1.15%';
set @test2 = '1.1500000000000000';
select
case when @test1 like @test2 then 'Yes'
else 'No'
end as result;
这返回“否”的结果,为什么会这样?
编辑:作为对答案的回应,曾经有过这样的日子吗?哈,谢谢你的帮助。