1

下午好,

我目前正在开始使用 Cassandra 和 CQL,但遇到了问题。我做了一个非常简单的数据库,我想在列之间做一些算术运算(加法,乘法......)。当我尝试这样做时,我收到以下错误:

"no viable alternative at input '-' "

根据我的阅读,Cassandra 长期以来并不支持算术运算,但官方文档似乎另有说明。

所以我的问题是:我做错了吗?还是这些运算符仍然不受支持?

我正在使用 Cassandra 3.11.2 和 cqlsh 5.0.1。我的查询是

Select ProductName, NetIncome, ProductionCost, (NetIncome - ProductionCost) from globalsales.Rentability group by ProductName;

其中 NetIncome 和 ProductionCost 都是 int 类型的列。

4

1 回答 1

2

是的,那个文档写得有点过早。目前不支持将算术作为 CQL 的一部分。它包含在CASSANDRA-11935下的 JIRA 项目中。

该票证将应用于 Cassandra 4.0 版本,该版本目前没有 ETA。

编辑 20210824

使用 Cassandra 4.0,列之间的算术运算现在成为可能。上面的查询现在应该可以工作了。

> SELECT productname, netincome, productioncost, netincome - productioncost FROM rentability;

 productname         | netincome | productioncost | netincome - productioncost
---------------------+-----------+----------------+----------------------------
 Stihl 2018 Chainsaw |    625.95 |          82.14 |                    543.81

(1 rows)
于 2018-04-30T01:47:42.910 回答