如何使用sql中的另一列计算列?

时间:2013-11-19 12:41:46

标签: sql monetdb

create table查询是:

  

创建表目录(id int,ra double,decl double,zone int);

使用以下公式从decl计算区域值:

  

CAST(FLOOR(decl)AS INTEGER),

我已经插入了表格的所有id,ra,decl值,然后我必须计算区域值,

如何在sql查询中计算表的区域值?

**在另一个表extractcatalog中,我想从ra中计算y,在sql中使用decl:

  

update extractcatalog set x =(cos(radians(decl)) cos(radians(ra)));   但回应:连接终止了!   我的sql有什么问题吗? *

非常感谢!

2 个答案:

答案 0 :(得分:0)

你会想做这样的事情:

update catalog set zone = CAST(FLOOR(decl) AS INTEGER);

答案 1 :(得分:0)

你还没有这样做过吗?

update catalog set zone=CAST(FLOOR(decl) AS INTEGER);

如果这不起作用,请尝试将其作为自我加入:

update catalog set zone=CAST(FLOOR(a.decl) AS INTEGER)
from catalog a
where 1=1;

我目前没有可用的数据库实例,所以你必须自己检查一下。

正如另一个人所指出的,你根本不需要存储区域,你只需将其作为计算值返回

select CAST(FLOOR(a.decl) AS INTEGER) as zone
from catalog a
where 1=1;