更新sql server中的geography列与常规字段(varchar ….)不同.能否请您提供样本声明.谢谢.
解决方法
我不确定这是否是您正在寻找的答案 – 但正如我所说,主要区别在于更新“常规字段”时,您通常直接提供新值 – 例如:
UPDATE mytable SET name = 'John' WHERE id = 1
更新地理列时,您可能无法直接提供该值(因为它是一个非常长的十六进制数字,它编码地理信息)但您需要从其他一些值计算它(可以但不一定是同一个表的列),例如:
UPDATE mytable SET gps=geography::STPointFromText('POINT(' + lng + ' ' + lat + ')',4326)
其中lng和lat是varchar值,以“人类可读”格式指定GPS坐标(如lat = ’48 .955790′,lng = ’20 .524500′) – 在这种情况下,它们也是mytable的列.