1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item;
19
20 import lombok.Getter;
21 import lombok.RequiredArgsConstructor;
22 import lombok.Setter;
23 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
24 import org.apache.shardingsphere.sql.parser.sql.dialect.segment.oracle.interval.IntervalDayToSecondExpression;
25 import org.apache.shardingsphere.sql.parser.sql.dialect.segment.oracle.interval.IntervalYearToMonthExpression;
26
27
28
29
30 @RequiredArgsConstructor
31 @Getter
32 public final class IntervalExpressionProjection implements ExpressionSegment, ProjectionSegment {
33
34 private final int startIndex;
35
36 private final int stopIndex;
37
38 private final ExpressionSegment left;
39
40 private final ExpressionSegment minus;
41
42 private final ExpressionSegment right;
43
44 private final String expression;
45
46 @Setter
47 private IntervalDayToSecondExpression dayToSecondExpression;
48
49 @Setter
50 private IntervalYearToMonthExpression yearToMonthExpression;
51
52 @Override
53 public String getText() {
54 return expression;
55 }
56
57 @Override
58 public String getColumnLabel() {
59 return getText();
60 }
61 }