0

我有这个 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]属性是字符串类型,所以它没有正确排序。有一些转换函数可以用来将其转换为数字吗?

非常感谢。

4

2 回答 2

1

不,那里没有。根据文档,orderby 是一个property_spec,后跟可选的 ASC 或 DESC。

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

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

于 2016-07-26T16:57:14.863 回答
0

根据文档,类型Boolean, DateTime, Float64, ID,Integer32和的属性Object可能与属性一起出现在ORDER BY子句中short String。也Binary不能long String使用属性来对查询进行排序。

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

现在 - 如果您担心这些null值,那么您可以考虑使用该COALESCE功能。

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

您可以在此处找到有关关系查询的更多信息。

于 2016-08-16T13:35:28.547 回答