У меня есть определенный пользователем тип 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
но значения orignal такие:
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
как я могу полностью преобразовать числа с плавающей точкой?
Или есть другой способ объявить новый dbo.CLRJourneyTime, как в .net
вот так:
'new dbo.CLRJourneyTime(nlinkjt , avglrwf , avglrwfjt ) as clrJT'