mysql - 根据其他列的值填充列 SQL

标签 mysql sql-server-2008-r2

我是 MYSQL 新手。我有两列 A 和 B,我想填充 C 列,使得值 (C) = func(valA, valB)。我已经填充了 AB 列,我想在 C 列中输入条目。 任何帮助表示赞赏。 谢谢。 编辑:

DECLARE @g geometry; 
SET @g = geometry::Point(Latitude, Longitude, 4326)

我需要在 C 列中插入 @g,并且我有纬度(A 列)和经度(B 列)。 我能够执行以下操作:

UPDATE myTable
SET `C` = `A` + `B`

但是当我尝试表演时

UPDATE myTable
SET `C` = geometry::Point(`A`, `B`, 4326), //--it gives me an error that `error occurred during execution of geometry`

有什么建议吗?我对此很陌生,所以我可能做错了很多事情。

最佳答案

试试这个

update your_table set C = Concat(A,',',B)

编辑:

也许你指的是地理而不是几何。

GEOGRAPHY 用于坐标/点,GEOMETRY 用于区域/多边形。

试试这个

UPDATE myTable
SET `C` = geography::Point(`A`, `B`, 4326);

这里有一些Different ways to add point data in SQL Server 2008

关于mysql - 根据其他列的值填充列 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14781253/

相关文章:

MySQL 查询超时 : (70100): Query execution was interrupted

sql-server - 从一个主要作业顺序调用多个 SQL Server 代理作业的好方法吗?

SQL 聚合函数 : Sum of some rows in another row

sql-server - 动态备份文件名

Python 从 MySQL 数据库中打印出错误的编码

mysql - 进行单个插入的更快方法?

mysql - 分组并将每一行与两个不同的列相乘

mysql 、 bigint 或 decimal 用于存储 > 32 位值但小于 64 位

sql-server - 数据库中所有用户定义函数的 SQL 列表

c# - ado.net transaction.commit 抛出信号量异常