Я не уверен, что это именно тот ответ, который вы ищете, но, как я бы сказал, основное отличие состоит в том, что при обновлении «обычного поля» вы обычно предоставляете непосредственно новое значение - например:
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
.