让我们说我在某些字段中具有“测试数据”和“测试数据”等值的记录。当我以EN语言环境由用户运行SOQL(在开发人员控制台或从Apex中)时,它会将具有“ TEST DATA”和“ test data”值的记录排列到一组中,但是当我由非英语语言环境的用户运行相同的查询时(或将区域设置切换为非英语后的同一用户),它将记录分为不同的组。
我尝试了几种不同的非英语语言环境,例如西班牙语,德语,意大利语,并且它们的工作原理相同。
SOQL查询的示例是:
SELECT MyField__c MyField__c_2, GROUPING(MyField__c) grouping_MyField__c_2, SUM(Amount) SUM_Amount, count(Id) cnt
FROM Opportunity
GROUP BY ROLLUP(MyField__c)
ORDER BY GROUPING(MyField__c) desc, MyField__c desc NULLS LAST
我认为它在任何语言环境下都应该起作用,并且不确定为什么不起作用。我知道在Salesforce SOQL中排序顺序是由当前用户区域设置确定的,但是我也观察到group by的相同行为,并且不知道这是否正确。