コンマで区切られた値の文字列を取る Clr ユーザー定義型があります。
この型に変換すると、精度が少し失われます。次のコード行に絞り込みました。
cast(cast(nlinkjt as nvarchar(100)) + ',' +cast(avglrwf as nvarchar(100)) + ',' + cast(avglrwfjt as nvarchar(100)) as dbo.CLRJourneyTime) as clrJT
出力 = 29.9376,5.29633e-005,0.00158559
しかし、元の値は次のようになります。
nlinkjt = 29.9376097988521 = cast(nlinkjt as nvarchar) = 29.9376
avglrwf = 5.29632961843163E-05 = cast(avglrwf as nvarchar) = 5.29633e-005
avglrwfjt = 0.00158559449482709 = cast(avglrwfjt as nvarchar) = 0.00158559
フロートを文字列に完全に変換するにはどうすればよいですか?
または、.net のように新しい dbo.CLRJourneyTime を宣言する別の方法があります。
'new dbo.CLRJourneyTime(nlinkjt , avglrwf , avglrwfjt ) as clrJT'