首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PartiQL中为DynamoDB使用算术运算符?

如何在PartiQL中为DynamoDB使用算术运算符?
EN

Stack Overflow用户
提问于 2022-08-25 17:01:37
回答 1查看 51关注 0票数 1

根据我在docs中看到的内容,DynamoDB支持PartiQL,这反过来又应该支持算术运算符(例如+、-、*、/)。

https://docs.aws.amazon.com/qldb/latest/developerguide/ql-operators.html

当我试图在查询中执行和时,我尝试将1添加到特定列(my_column)的每个元素中,该列的类型为N - number,如下所示:

代码语言:javascript
复制
SELECT eventTime, my_column + 1
FROM MyTable
WHERE eventTime BETWEEN 1615161600000 AND (1615165200000)

上述语句导致以下错误:

我错过了什么或者做错了什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-08-25 17:15:49

PartiQL支持算术运算符,但用例无效.PartiQL无法为表中的每个列添加值,因为它是一个NoSQL表,因此必须直接调用每个项。

为此,需要扫描表以检索每个项,然后使用update命令迭代项目列表:

伪:

代码语言:javascript
复制
results = `SELECT PK, SK FROM "myTable";`

FOR item in results:
  UPDATE "myTable" 
  SET AwardsWon=AwardsWon+1 
  WHERE PK=item.PK AND SK=item.SK

请记住,上面是伪代码。我个人更喜欢使用低级别的DynamoDB API,我觉得这样做更容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73491256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档