Class Day
- Namespace
- YndigoBlue.Velocity.Functions
- Assembly
- YndigoBlue.Velocity.dll
Represents the DAY date extraction function that returns the day of the month component of a date.
public class Day : Function, ICheckItem, IDefaultItem, IFilterItem, IElement
- Inheritance
-
Day
- Implements
Remarks
The DAY function extracts the day of the month as an integer (1-31) from a date or datetime value. For example, DAY('2024-03-15') returns 15. This is useful for filtering by specific days of the month, day-based analysis, or extracting the day component for calculations.
Examples
Extract the day-of-month from each invoice date:
var schema = manager.LoadSchema("finance");
var invoices = schema["invoices"];
var query = new Query()
.Select([ invoices["id"], new Expression("invoice_day", new Day(invoices["invoice_date"])) ])
.From(invoices);
var results = manager.Retrieve(query);
Use the typed Column constructor when working with a pre-resolved column variable:
var schema = manager.LoadSchema("finance");
var invoices = schema["invoices"];
Column invoiceDateColumn = invoices["invoice_date"];
var query = new Query()
.Select([ invoices["id"], new Expression("invoice_day", new Day(invoiceDateColumn)) ])
.From(invoices);
var results = manager.Retrieve(query);
Extract the day from a hard-coded date literal using DateOnly or DateTimeOffset:
// DateOnly literal: DAY('2024-03-15') → 15
var dayFromDateOnly = new Day(new DateOnly(2024, 3, 15));
// DateTimeOffset literal
var dayFromOffset = new Day(new DateTimeOffset(2024, 3, 15, 0, 0, 0, TimeSpan.Zero));
Constructors
- Day(IEnumerable<IElement>)
Initializes a new instance of DAY for multiple elements.
- Day(DateOnly)
Initializes a new instance of DAY for a DateOnly literal value.
- Day(DateTime)
Initializes a new instance of DAY for a DateTime literal value.
- Day(DateTimeOffset)
Initializes a new instance of DAY for a DateTimeOffset literal value.
- Day(IElement)
Initializes a new instance of DAY for a single element.
- Day(Column)
Initializes a new instance of DAY for a column.