在TDS中使用TQL查询比较两个字段时出现语法错误求解决
解决TDS中TQL字段比较的语法错误问题
问题场景
我在TDS中使用TQL过滤结果时,日期与数值的比较语句能正常返回JSON响应,比如:
"creationDate >= " + 1689091200000 + " and creationDate < " + 1689177600000
但尝试判断两个字段值是否不等时,使用语句"lastUpdateDate != creationDate"却触发了语法错误:
{ "code": "TDS_ALL_TQL_SYNTAX_ERROR", "message": "TQL_SYNTAX_ERROR", "cause": "Error: !=", "context": { "campaignId": "645f5e08dbeeba28d19e66dc", "property": "" } }
可能的解决方案
- 替换不等于运算符:将
!=换成<>,这是多数查询语言(包括SQL方言)中标准的不等于表示方式,修改后的语句如下:"lastUpdateDate <> creationDate" - 检查函数式比较支持:如果
<>仍不生效,确认TDS的TQL是否要求用函数来实现字段比较,比如类似NOT EQUALS(lastUpdateDate, creationDate)的写法。 - 验证字段类型一致性:确保
lastUpdateDate和creationDate是相同数据类型(比如均为时间戳),类型不匹配也可能引发语法或逻辑错误。
内容的提问来源于stack exchange,提问作者Panadol Chong
相关产品推荐
相关产品推荐

