Class SqlIntervalExpression
An interval built from a scalar amount expressed in a known unit.
public sealed class SqlIntervalExpression : SqlExpressionBase, ISqlExpression, IQueryElement, IEquatable<ISqlExpression>
- Inheritance
-
objectSqlIntervalExpression
- 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
valueISqlExpressiontypeDbDataTypeintervalTypeSqlIntervalType
Properties
ElementType
AST node type.
public override QueryElementType ElementType { get; }
Property Value
IntervalType
Logical type of the produced interval.
public SqlIntervalType IntervalType { get; }
Property Value
Precedence
public override int Precedence { get; }
Property Value
SystemType
public override Type? SystemType { get; }
Property Value
Type
public DbDataType Type { get; }
Property Value
Unit
Unit Value is counted in.
public SqlIntervalUnit Unit { get; }
Property Value
Value
Scalar amount, counted in SqlIntervalType.Resolution units.
public ISqlExpression Value { get; }
Property Value
Methods
Accept(QueryElementVisitor)
Visitor support.
public override IQueryElement Accept(QueryElementVisitor visitor)
Parameters
visitorQueryElementVisitor
Returns
CanBeNullable(NullabilityContext)
public override bool CanBeNullable(NullabilityContext nullability)
Parameters
nullabilityNullabilityContext
Returns
Equals(ISqlExpression, Func<ISqlExpression, ISqlExpression, bool>)
public override bool Equals(ISqlExpression other, Func<ISqlExpression, ISqlExpression, bool> comparer)
Parameters
otherISqlExpressioncomparerFunc<ISqlExpression, ISqlExpression, bool>
Returns
GetElementHashCode()
public override int GetElementHashCode()
Returns
Modify(ISqlExpression, DbDataType, SqlIntervalType)
public void Modify(ISqlExpression value, DbDataType type, SqlIntervalType intervalType)
Parameters
valueISqlExpressiontypeDbDataTypeintervalTypeSqlIntervalType
ToString(QueryElementTextWriter)
Generates debug text representation of AST node.
public override QueryElementTextWriter ToString(QueryElementTextWriter writer)
Parameters
writerQueryElementTextWriter