我正在努力将Latitude Degrees转换为Latitude Decimal,我已经能够在一定程度上实现这一目标。我遇到的问题是,每天我的数据库都会使用新的GPS Degree格式进行更新,当我的查询运行时,它会拉出已经转换过的内容,并对它们进行数学运算。当它更新它使我已经错误的GPS十进制。这是我到目前为止所拥有的。拉到临时表。
`UPDATE
ztestgps
INNER JOIN
account on account.accountnumber = ztestgps.Account Number
SET
ztestgps.Latitude = account.latitude,
ztestgps.Longitude = account.Longitude`
这会提取我需要进行数学运算的所有数据。然后我用
运行数学`UPDATE
ztestgps
SET
ztestgps.LatMinutes = SUBSTRING(ztestgps.Latitude,-7,2),
ztestgps.LatSeconds = SUBSTRING(ztestgps.latitude,-5,5),
ztestgps.LatDecimal = ztestgps.LatDegree + (ztestgps.LatMinutes/60) + (ztestgps.LatSeconds/3600),
ztestgps.LongDegree = LEFT(ztestgps.Longitude,2),
ztestgps.LongMinutes = SUBSTRING(ztestgps.Longitude,-7,2),
ztestgps.LongSeconds = SUBSTRING(ztestgps.Longitude,-5,5),
ztestgps.LongDecimal = ztestgps.LongDegree + (ztestgps.LongMinutes/60) + (ztestgps.LongSeconds/3600)`
然后,我有一个更新原始文件account.latitude
和account.longitude
的最后一个查询。我还没有找到一种方法让它忽略已经是十进制格式的东西,只转换为学位格式的东西。