Creatio development guide
Это документация Creatio версии 7.8.0. Мы рекомендуем использовать новую версию документации.

EntitySchemaQuery.CreateDatePartFunction - метод Смотри также  Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс : CreateDatePartFunction - метод C#

interval
Часть даты, возвращаемая функцией.
columnPath
Путь к колонке относительно корневой схемы.

Glossary Item Box

Возвращает экземпляр функции EntitySchemaDatePartQueryFunction, возвращающей заданный интервал даты для значения колонки, расположенной по указанному пути относительно корневой схемы.

Синтаксис

Параметры

interval
Часть даты, возвращаемая функцией.
columnPath
Путь к колонке относительно корневой схемы.

Тип возвращаемого значения

Экземпляр созданной функции EntitySchemaDatePartQueryFunction.

Исключения

ИсключениеОписание
Terrasoft.Common.ArgumentNullOrEmptyExceptionЕсли в качестве параметра columnPath передано пустое значение или null.

Пример

В данном примере демонстрируется создание запроса, который возвращает количество добавленных контактов системы по месяцам года. Месяц, в котором был создан контакт, будет определяться с помощью функции DATEPART.
// Создание экземпляра менеджера схем объектов.
EntitySchemaManager esqManager = UserConnection.EntitySchemaManager;

// Создание экземпляра запроса с корневой схемой "Contact".
var esqResult = new EntitySchemaQuery(esqManager, "Contact");

// Создание агрегирующей функции, котора вычисляет количество контактов.
var esqAgregationFunc = esqResult.CreateAggregationFunction(AggregationTypeStrict.Count, "Id");
esqResult.AddColumn(esqAgregationFunc);

// Создание экземпляра функции, возвращающей номер месяца даты создания контакта. 
var esqDatePartFunction = esqResult.CreateDatePartFunction(EntitySchemaDatePartQueryFunctionInterval.Month,
                            "CreatedOn");
esqResult.AddColumn(esqDatePartFunction);

// Получение текста результирующего запроса.
string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText();

// Текст результирующего sql-запроса.

// MS SQL:
// SELECT
//            COUNT([Contact].[Id]) [Count],
//            DATEPART(MONTH, [Contact].[CreatedOn]) [DatePart]
// FROM
//            [dbo].[Contact] [Contact]
// GROUP BY
//            DATEPART(MONTH, [Contact].[CreatedOn]) 

// Oracle:
// SELECT
//             COUNT("Contact"."Id") "Count",
//            EXTRACT(MONTH FROM "Contact"."CreatedOn") "DatePart"
// FROM
//            "Contact" "Contact"
// GROUP BY
//            EXTRACT(MONTH FROM "Contact"."CreatedOn")

Смотри также

© Terrasoft 2002-2016.

Был ли данный материал полезен?

Как можно улучшить эту статью?