我将客户的 GMT/UTC 时区保存在客户记录上的自定义自由格式文本字段中(供参考,下面第一个公式中的字段 ID custentity2)。时区由使用 Google Maps API 的预定脚本设置。例如,如果客户位于 CDT,则字段值为 -5:00。
我正在使用时区值在客户记录的另一个自定义自由格式文本字段和保存的搜索中输出客户的当前时间。我在客户记录的当前时间字段中使用以下公式,它按预期工作。它输出“08/11/2020 03:33 PM”,即当前日期和时间与客户时区的偏移量。
TO_CHAR(CAST(CURRENT_TIMESTAMP AT TIME ZONE {custentity2} AS DATE),'MM/DD/YYYY HH12:MI AM')
我遇到的问题是在保存的搜索中输出当前时间字段。运行保存的搜索时,我得到“错误:无效的表达式”。为了测试,使用我上面的公式在保存的搜索中创建了一个新的公式文本字段,我得到了同样的错误。
我已经在保存的搜索中使用以下公式对此进行了测试,并且效果很好。我只是手动将时区设置为字符串,而不是从自定义字段中获取它。
TO_CHAR(CAST(CURRENT_TIMESTAMP AT TIME ZONE '-5:00' AS DATE),'MM/DD/YYYY HH12:MI AM')
这让我怀疑这可能是自定义字段中时区值的格式问题,但我已经尝试了我所知道的一切将其转换为字符串但没有成功。该值存储在自由格式文本字段中,因此默认情况下它应该是一个字符串,但我可能会在这里遗漏一些东西。
我还可以在保存的搜索中输出时区字段的值,甚至可以在保存的搜索的另一个公式中使用它。我使用 CASE 函数作为测试,我能够毫无问题地输出时区的值。
难道我做错了什么?或者也许这只是不可能做到的?使用保存的搜索时,CAST 功能是否存在限制?非常感谢任何帮助,谢谢!