我有一个这样的查询
SELECT "deviceId", "transactionStatus"
FROM scp_service_transaction.transactions_v2
WHERE "tenantId" = 'aptos-denim'
AND TRY_CAST("deviceId" AS BIGINT) >= 100
AND TRY_CAST("deviceId" AS BIGINT) <= 150
ORDER BY "endDateTime" desc LIMIT 20 OFFSET 0;
我的数据集看起来像这个
[
{deviceId: 123, transactionStatus: object },
{deviceId: 1015, transactionStatus: object }
]
我得到的查询返回值为123
和1015
的deviceId,而我希望只返回123
。当我指定了我希望我的设备ID所在的范围时,为什么我的查询同时返回123和1015?
我假设deviceId
是一个TEXT
字段。
CrateDB 4.7.1/4.6.8修复了一个错误,该错误在使用显式铸造时应用了交换铸造优化。这会导致忽略作为文本比较的强制转换和文本。
这两个版本都可以在测试渠道上获得,很可能在下周内稳定升级。
https://github.com/crate/crate/issues/12135