SQL Server を使用して、10 進数を 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;
これは「いいえ」という結果を返しますが、なぜそうなるのでしょうか?
編集:答えに応じて、そのような日はありますか? はぁ、助けてくれてありがとう。