根据我在docs中看到的内容,DynamoDB支持PartiQL,这反过来又应该支持算术运算符(例如+、-、*、/)。
https://docs.aws.amazon.com/qldb/latest/developerguide/ql-operators.html
当我试图在查询中执行和时,我尝试将1添加到特定列(my_column)的每个元素中,该列的类型为N - number,如下所示:
SELECT eventTime, my_column + 1
FROM MyTable
WHERE eventTime BETWEEN 1615161600000 AND (1615165200000)上述语句导致以下错误:

我错过了什么或者做错了什么?
提前谢谢。
发布于 2022-08-25 17:15:49
PartiQL支持算术运算符,但用例无效.PartiQL无法为表中的每个列添加值,因为它是一个NoSQL表,因此必须直接调用每个项。
为此,需要扫描表以检索每个项,然后使用update命令迭代项目列表:
伪:
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,我觉得这样做更容易。
https://stackoverflow.com/questions/73491256
复制相似问题