Filenet query number conversion in order by

Filenet query number conversion in order by

我有这个 Filenet 查询:

SELECT 
    [This], [Ente], [IDAtto], [Numero], [Tipologia], [DataEmissione] 
FROM   
    [AttoNormativo] 
WHERE 
    ([DataEmissione] > 20160405T215959Z AND [DataEmissione] < 20160408T220001Z) 
ORDER BY 
    [DataEmissione] desc, [Tipologia], [Numero], [Ente]
OPTIONS (TIMELIMIT 180)

问题是[Numero] 属性是string类型,所以顺序不对。我可以使用一些转换函数将其转换为数字?

非常感谢。

不,没有。根据 the docs,orderby 是 property_spec,后跟可选的 ASC 或 DESC。

<orderby> ::= <property_spec> [ ASC | DESC ]

ORDER BY 中唯一允许的函数是 COALESCE(),它可用于在数据为空时提供默认排序值。

根据文档,BooleanDateTimeFloat64IDInteger32Object 类型的属性可能与 short String 属性一起出现在 ORDER BY 子句中。 Binarylong String 属性都不能用于对查询进行排序。

您可以通过在创建 属性 时设置 UsesLongColumn 属性 来定义自定义字符串 属性 以存储在短或长数据库列中。

现在 - 如果您担心 null 值,那么您可以考虑使用 COALESCE 函数。

<orderby> ::= [ COALESCE '(' <property_spec>, <literal> ')' || <property_spec> ] [ ASC | DESC ]

您可以找到有关关系查询的更多信息 - here