Class Year
- Namespace
- YndigoBlue.Velocity.Functions
- Assembly
- YndigoBlue.Velocity.dll
Represents the YEAR date extraction function that returns the year component of a date.
public class Year : Function, ICheckItem, IDefaultItem, IFilterItem, IElement
- Inheritance
-
Year
- Implements
Remarks
The YEAR function extracts the year as an integer from a date or datetime value. For example, YEAR('2024-03-15') returns 2024. This is useful for grouping data by year, filtering by year, or performing year-based calculations and comparisons.
Examples
Extract the year from each employee hire date:
var schema = manager.LoadSchema("hr");
var employees = schema["employees"];
var query = new Query()
.Select([ employees["id"], new Expression("hire_year", new Year(employees["hire_date"])) ])
.From(employees);
var results = manager.Retrieve(query);
Use the typed Column constructor when working with a pre-resolved column variable:
var schema = manager.LoadSchema("hr");
var employees = schema["employees"];
Column hireDateColumn = employees["hire_date"];
var query = new Query()
.Select([ employees["id"], new Expression("hire_year", new Year(hireDateColumn)) ])
.From(employees);
var results = manager.Retrieve(query);
Extract the year from a hard-coded date literal using DateOnly or DateTimeOffset:
// DateOnly literal: YEAR('2024-03-15') → 2024
var yearFromDateOnly = new Year(new DateOnly(2024, 3, 15));
// DateTimeOffset literal
var yearFromOffset = new Year(new DateTimeOffset(2024, 3, 15, 0, 0, 0, TimeSpan.Zero));
Constructors
- Year(IEnumerable<IElement>)
Initializes a new instance of YEAR for multiple elements.
- Year(DateOnly)
Initializes a new instance of YEAR for a DateOnly literal value.
- Year(DateTime)
Initializes a new instance of YEAR for a DateTime literal value.
- Year(DateTimeOffset)
Initializes a new instance of YEAR for a DateTimeOffset literal value.
- Year(IElement)
Initializes a new instance of YEAR for a single element.
- Year(Column)
Initializes a new instance of YEAR for a column.