我有一個具有輸入PARAMS存儲過程:存儲過程浮點輸入PARAM截斷值
@Latitude float
, @Longitude float
但是當我通過這些值:被存儲在表中
@Latitude=-28.640328248358344
,@Longitude=153.61249352645871
的值是:
Lat: -28.6403
Lng: 153.612
如果我在表上執行標準插入或更新,值是正確的。
我試着將參數改爲float(54),但它沒有區別...我使用float的原因是因爲Lat/Lng實際上是從地理列中計算出來的cols(並且它在設計器中聲明它們是浮動的) - 我已經通過將存儲過程中的lat/lng值插入到幾個varchar列中來檢查它與計算列沒有關係。
我使用EF並可以確認實體中的值是否正確,並且我已檢查SQL事件探查器以確認EXEC調用中包含完整值。
編輯: 我插入這些值代入式地理列調用地理定位:
GeoLocation = geography::STPointFromText('POINT(' + CONVERT(varchar, @Longitude) + ' ' + CONVERT(varchar, @Latitude) + ')',4326)
@marc_s - 我的問題明確指出,我使用地理欄和我的SP我有--- GeoLocation =地理:: STPointFromText('POINT('+ CONVERT( varchar,@Longitude)+''+ CONVERT(varchar,@Latitude)+')',4326)---但這是無關緊要的,因爲我還提到我將raw @ lat/lngs存儲在varchar col中以查看他們看起來像,他們也被截斷... – Rob 2011-04-17 11:08:35
我同意marc_s:從你的問題,甚至你的澄清上面,目標列的數據類型不清楚。你說你從一個地理列中獲取你的值,並將它們用於測試目的插入到varchar列中;但值顯示被截斷的列的數據類型是什麼? 「...存儲在表中的值...」 - – Tim 2011-04-17 11:13:39
Computed Float列和Varchar Cols(我做了一個額外的測試)都被截斷了 – Rob 2011-04-17 11:15:15