Table of Contents

Class SqlIntervalExpression

Namespace
LinqToDB.Internal.SqlQuery
Assembly
linq2db.dll

An interval built from a scalar amount expressed in a known unit.

public sealed class SqlIntervalExpression : SqlExpressionBase, ISqlExpression, IQueryElement, IEquatable<ISqlExpression>
Inheritance
object
SqlIntervalExpression
Implements
Inherited Members
Extension Methods

Remarks

Covers a duration column whose unit the mapping declares, a TimeSpan parameter, and a literal such as TimeSpan.FromHours(5). The unit is SqlIntervalType.Resolution - a single source of truth, so the value and its unit cannot drift apart.

Constructors

SqlIntervalExpression(ISqlExpression, DbDataType, SqlIntervalType)

public SqlIntervalExpression(ISqlExpression value, DbDataType type, SqlIntervalType intervalType)

Parameters

value ISqlExpression
type DbDataType
intervalType SqlIntervalType

Properties

ElementType

AST node type.

public override QueryElementType ElementType { get; }

Property Value

QueryElementType

IntervalType

Logical type of the produced interval.

public SqlIntervalType IntervalType { get; }

Property Value

SqlIntervalType

Precedence

public override int Precedence { get; }

Property Value

int

SystemType

public override Type? SystemType { get; }

Property Value

Type

Type

public DbDataType Type { get; }

Property Value

DbDataType

Unit

Unit Value is counted in.

public SqlIntervalUnit Unit { get; }

Property Value

SqlIntervalUnit

Value

Scalar amount, counted in SqlIntervalType.Resolution units.

public ISqlExpression Value { get; }

Property Value

ISqlExpression

Methods

Accept(QueryElementVisitor)

Visitor support.

public override IQueryElement Accept(QueryElementVisitor visitor)

Parameters

visitor QueryElementVisitor

Returns

IQueryElement

CanBeNullable(NullabilityContext)

public override bool CanBeNullable(NullabilityContext nullability)

Parameters

nullability NullabilityContext

Returns

bool

Equals(ISqlExpression, Func<ISqlExpression, ISqlExpression, bool>)

public override bool Equals(ISqlExpression other, Func<ISqlExpression, ISqlExpression, bool> comparer)

Parameters

other ISqlExpression
comparer Func<ISqlExpression, ISqlExpression, bool>

Returns

bool

GetElementHashCode()

public override int GetElementHashCode()

Returns

int

Modify(ISqlExpression, DbDataType, SqlIntervalType)

public void Modify(ISqlExpression value, DbDataType type, SqlIntervalType intervalType)

Parameters

value ISqlExpression
type DbDataType
intervalType SqlIntervalType

ToString(QueryElementTextWriter)

Generates debug text representation of AST node.

public override QueryElementTextWriter ToString(QueryElementTextWriter writer)

Parameters

writer QueryElementTextWriter

Returns

QueryElementTextWriter