我將緯度作爲數字存儲在表中(示例18.1659)。我正在使用合併語句將該數據轉移到另一個表中。除數據外的所有作品僅作爲「18」輸入到新表中。這兩個字段都是數字,我認爲這是Firebird中的確切數字。我怎樣才能解決這個問題,並將所選數據確切地輸入到新字段中。這是我使用的SQL。在Firebird中的合併語句中獲取數字精度
merge into notary n
using (select lat from Zip_codes where zipcode = n.zip) z
on (n.zip = z.zipcode)
when matched then update set lat = z.lat
我已經嘗試使用鑄造作爲雙精度,但也沒有工作。如果我明白爲什麼會發生這種情況,我可能會找出解決方案,但我甚至不知道爲什麼。感謝
方言3 TABLE:公證 字段:LAT NUMERIC(18,0) LNG NUMERIC(18,0)
TABLE:ZIP_CODES 字段:LAT NUMERIC(18,5) LNG NUMERIC( 18,5)
請將您的數據庫的SQL方言和您使用的兩張表的聲明(方案)添加到主題 –
個人我只是將所有緯度存儲爲Int64乘以千之後:-) –
也沒有點在那裏使用派生表,這錯過了MERGE命令的整個想法。 http://firebirdsql.su/doku.php?id=merge剛剛去'使用公式n合併成n公式n.zip = z.zipcode ......' –