Возвращает экземпляр функции
EntitySchemaDatePartQueryFunction, возвращающей заданный интервал даты для значения колонки, расположенной по указанному пути относительно корневой схемы.
Синтаксис
Параметры
- interval
- Часть даты, возвращаемая функцией.
- columnPath
- Путь к колонке относительно корневой схемы.
Тип возвращаемого значения
Экземпляр созданной функции
EntitySchemaDatePartQueryFunction.
Исключения
Пример
В данном примере демонстрируется создание запроса, который возвращает количество добавленных контактов системы по месяцам года. Месяц, в котором был создан контакт, будет определяться с помощью функции
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")
|
Смотри также