Преобразование номера запроса Filenet в порядке
У меня есть этот запрос 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]
Свойство является строковым типом, поэтому оно не упорядочено должным образом. Есть какая-то функция приведения, которую я могу использовать для преобразования ее в числовой?
Большое спасибо.
2 ответа
Согласно документации, свойства типа 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 ]
Вы можете узнать больше о реляционных запросах - здесь.
Нет, нет Согласно документам, orderby представляет собой property_spec, за которым, необязательно, следует ASC или DESC.
<orderby> ::= <property_spec> [ ASC | DESC ]
Единственной функцией, разрешенной в ORDER BY, является COALESCE(), которая может использоваться для предоставления значения сортировки по умолчанию, когда данные равны нулю.