diff --git a/go/mysql/datetime/types.go b/go/mysql/datetime/datetime.go similarity index 75% rename from go/mysql/datetime/types.go rename to go/mysql/datetime/datetime.go index 559b44d2d6a..5b6a41d8a7f 100644 --- a/go/mysql/datetime/types.go +++ b/go/mysql/datetime/datetime.go @@ -94,7 +94,7 @@ func (t Time) FormatDecimal() decimal.Decimal { } func (t Time) ToDateTime() (out DateTime) { - return FromStdTime(t.ToStdTime(time.Local)) + return NewDateTimeFromStd(t.ToStdTime(time.Local)) } func (t Time) IsZero() bool { @@ -413,6 +413,20 @@ func (t Time) ToStdTime(loc *time.Location) (out time.Time) { return t.toStdTime(year, month, day, loc) } +func (t Time) AddInterval(itv *Interval, stradd bool) (Time, uint8, bool) { + dt := DateTime{Time: t} + ok := dt.addInterval(itv) + return dt.Time, itv.precision(stradd), ok +} + +func (t Time) toSeconds() int { + tsecs := t.Hour()*secondsPerHour + t.Minute()*secondsPerMinute + t.Second() + if t.Neg() { + return -tsecs + } + return tsecs +} + func (d Date) ToStdTime(loc *time.Location) (out time.Time) { return time.Date(d.Year(), time.Month(d.Month()), d.Day(), 0, 0, 0, 0, loc) } @@ -471,6 +485,12 @@ func (d Date) Compare(d2 Date) int { return 0 } +func (d Date) AddInterval(itv *Interval) (Date, bool) { + dt := DateTime{Date: d} + ok := dt.addInterval(itv) + return dt.Date, ok +} + func (dt DateTime) FormatInt64() int64 { d := dt.Round(0) return d.Date.FormatInt64()*1000000 + d.Time.FormatInt64() @@ -493,7 +513,7 @@ func (dt DateTime) Compare(dt2 DateTime) int { case zerodate1 || zerodate2: // if we're comparing a time to a datetime, we need to normalize them // both into datetimes; this normalization is not trivial because negative - // times result in a date change, to let the standard library handle this + // times result in a date change, so let the standard library handle this return dt.ToStdTime(time.Local).Compare(dt2.ToStdTime(time.Local)) } if cmp := dt.Date.Compare(dt2.Date); cmp != 0 { @@ -502,6 +522,11 @@ func (dt DateTime) Compare(dt2 DateTime) int { return dt.Time.Compare(dt2.Time) } +func (dt DateTime) AddInterval(itv *Interval, stradd bool) (DateTime, uint8, bool) { + ok := dt.addInterval(itv) + return dt, itv.precision(stradd), ok +} + func (dt DateTime) Round(p int) (r DateTime) { if dt.Time.nanosecond == 0 { return dt @@ -521,28 +546,124 @@ func (dt DateTime) Round(p int) (r DateTime) { r = dt if n == 1e9 { r.Time.nanosecond = 0 - return FromStdTime(r.ToStdTime(time.Local).Add(time.Second)) + return NewDateTimeFromStd(r.ToStdTime(time.Local).Add(time.Second)) } r.Time.nanosecond = uint32(n) return r } -func FromStdTime(t time.Time) DateTime { +func (dt DateTime) toSeconds() int { + return (dt.Date.Day()-1)*secondsPerDay + dt.Time.toSeconds() +} + +func (dt *DateTime) addInterval(itv *Interval) bool { + switch { + case itv.unit.HasTimeParts(): + if !itv.inRange() { + return false + } + + nsec := dt.Time.Nanosecond() + itv.nsec + sec := dt.toSeconds() + itv.toSeconds() + (nsec / int(time.Second)) + nsec = nsec % int(time.Second) + + if nsec < 0 { + nsec += int(time.Second) + sec-- + } + + days := sec / secondsPerDay + sec -= days * secondsPerDay + + if sec < 0 { + sec += secondsPerDay + days-- + } + + dt.Time.nanosecond = uint32(nsec) + dt.Time.second = uint8(sec % secondsPerMinute) + dt.Time.minute = uint8((sec / secondsPerMinute) % secondsPerMinute) + dt.Time.hour = uint16(sec / secondsPerHour) + + daynum := mysqlDayNumber(dt.Date.Year(), dt.Date.Month(), 1) + days + if daynum < 0 || daynum > maxDay { + return false + } + + dt.Date.year, dt.Date.month, dt.Date.day = mysqlDateFromDayNumber(daynum) + return true + + case itv.unit.HasDayParts(): + daynum := mysqlDayNumber(dt.Date.Year(), dt.Date.Month(), dt.Date.Day()) + daynum += itv.day + dt.Date.year, dt.Date.month, dt.Date.day = mysqlDateFromDayNumber(daynum) + return true + + case itv.unit.HasMonthParts(): + months := dt.Date.Year()*12 + itv.year*12 + (dt.Date.Month() - 1) + itv.month + if months < 0 || months >= 120000 { + return false + } + + year := months / 12 + month := (months % 12) + 1 + + dt.Date.year = uint16(year) + dt.Date.month = uint8(month) + + // MySQL quirk: if the original date was in a day that the new month + // doesn't have, the date is offset backwards to the last day of + // the new month. This is the opposite to normal date handling where + // we'd offset days into the next month. + if dim := daysIn(time.Month(month), year); dt.Date.Day() > dim { + dt.Date.day = uint8(dim) + } + return true + + case itv.unit == IntervalYear: + if itv.year > 10000 { + return false + } + + year := dt.Date.Year() + itv.year + dt.Date.year = uint16(year) + + // MySQL quirk: if the original date was Feb 29th on a leap year, and + // the resulting year is not a leap year, the date is offset backwards. + // This is the opposite to what normal date handling does. + if dt.Date.Month() == 2 && dt.Date.Day() == 29 && !isLeap(year) { + dt.Date.day = 28 + } + return true + + default: + panic("unexpected IntervalType") + } +} + +func NewDateFromStd(t time.Time) Date { year, month, day := t.Date() + return Date{ + year: uint16(year), + month: uint8(month), + day: uint8(day), + } +} + +func NewTimeFromStd(t time.Time) Time { hour, min, sec := t.Clock() nsec := t.Nanosecond() + return Time{ + hour: uint16(hour), + minute: uint8(min), + second: uint8(sec), + nanosecond: uint32(nsec), + } +} +func NewDateTimeFromStd(t time.Time) DateTime { return DateTime{ - Date: Date{ - year: uint16(year), - month: uint8(month), - day: uint8(day), - }, - Time: Time{ - hour: uint16(hour), - minute: uint8(min), - second: uint8(sec), - nanosecond: uint32(nsec), - }, + Date: NewDateFromStd(t), + Time: NewTimeFromStd(t), } } diff --git a/go/mysql/datetime/helpers.go b/go/mysql/datetime/helpers.go index 8b53a376d7c..33d673782fc 100644 --- a/go/mysql/datetime/helpers.go +++ b/go/mysql/datetime/helpers.go @@ -198,7 +198,7 @@ func getnuml(s string, l int) (int, string, bool) { } func getnumn(s string) (int, string, bool) { - if !isDigit(s, 0) { + if len(s) == 0 || !('0' <= s[0] && s[0] <= '9') { return 0, s, false } @@ -229,6 +229,14 @@ var daysBefore = [...]int32{ 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31, } +var daysInMonth = [...]int{ + 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, +} + +var daysInMonthLeap = [...]int{ + 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, +} + func daysIn(m time.Month, year int) int { if m == time.February && isLeap(year) { return 29 @@ -240,6 +248,13 @@ func isLeap(year int) bool { return year%4 == 0 && (year%100 != 0 || year%400 == 0) } +func daysInYear(year int) int { + if isLeap(year) { + return 366 + } + return 365 +} + func parseNanoseconds[bytes []byte | string](value bytes, nbytes int) (ns int, l int, ok bool) { if value[0] != '.' { return 0, 0, false @@ -268,3 +283,9 @@ func parseNanoseconds[bytes []byte | string](value bytes, nbytes int) (ns int, l return } + +const ( + secondsPerMinute = 60 + secondsPerHour = 60 * secondsPerMinute + secondsPerDay = 24 * secondsPerHour +) diff --git a/go/mysql/datetime/interval.go b/go/mysql/datetime/interval.go new file mode 100644 index 00000000000..21395f2174d --- /dev/null +++ b/go/mysql/datetime/interval.go @@ -0,0 +1,425 @@ +/* +Copyright 2023 The Vitess Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package datetime + +import ( + "math" + "math/bits" + "strconv" + "strings" + + "vitess.io/vitess/go/hack" + "vitess.io/vitess/go/mysql/decimal" +) + +// IntervalType represents the temporal elements contained in an Interval. +// Intervals in MySQL can contain more than one temporal element. We define their types as +// a bitset to let us efficiently query the temporal elements that form each interval. +// There are two kinds of IntervalTypes: unary and compound. Unary interval types contain +// a single temporal element (e.g. SECONDS, or DAYS) and hence contain only one bit set. +// Compount interval types are the logical combination of several unary interval types. +type IntervalType uint8 + +// IntervalType constants. +const ( + // Unary interval types + IntervalNone IntervalType = 0 + IntervalMicrosecond IntervalType = 1 << 0 + IntervalSecond IntervalType = 1 << 1 + IntervalMinute IntervalType = 1 << 2 + IntervalHour IntervalType = 1 << 3 + IntervalDay IntervalType = 1 << 4 + IntervalMonth IntervalType = 1 << 5 + IntervalYear IntervalType = 1 << 6 + intervalMulti IntervalType = 1 << 7 + + // IntervalWeek and IntervalQuarter are an exception for unary interval types, + // which are not unique temporal elements but instead a modifier on a unary element + // - WEEK is just a count of DAYS multiplied by 7 + // - QUARTER is just a count of MONTHS multiplied by 3 + IntervalWeek = IntervalDay | intervalMulti + IntervalQuarter = IntervalMonth | intervalMulti + + // Compound interval types + IntervalSecondMicrosecond = IntervalSecond | IntervalMicrosecond + IntervalMinuteMicrosecond = IntervalMinute | IntervalSecond | IntervalMicrosecond + IntervalMinuteSecond = IntervalMinute | IntervalSecond + IntervalHourMicrosecond = IntervalHour | IntervalMinute | IntervalSecond | IntervalMicrosecond + IntervalHourSecond = IntervalHour | IntervalMinute | IntervalSecond + IntervalHourMinute = IntervalHour | IntervalMinute + IntervalDayMicrosecond = IntervalDay | IntervalHour | IntervalMinute | IntervalSecond | IntervalMicrosecond + IntervalDaySecond = IntervalDay | IntervalHour | IntervalMinute | IntervalSecond + IntervalDayMinute = IntervalDay | IntervalHour | IntervalMinute + IntervalDayHour = IntervalDay | IntervalHour + IntervalYearMonth = IntervalYear | IntervalMonth +) + +type intervalSetter func(tp *Interval, val int) + +var intervalSet = [...]intervalSetter{ + intervalSetMicrosecond, + intervalSetSecond, + intervalSetMinute, + intervalSetHour, + intervalSetDay, + intervalSetMonth, + intervalSetYear, +} + +// setter returns the setter method for this interval's type. +// If this is a unary interval, it'll return the setter for the interval's unary type. +// If this is a compound interval, it'll return the setter for the smallest unary type +// in the interval. +func (itv IntervalType) setter() intervalSetter { + // find the lowest bit set in the interval, this is the smallest unary type + unary := itv & -itv + + // map from an unary interval type to its offset by counting the trailing + // zeroes. e.g. for HOUR(1 << 3), this will return 3, which the position + // for the HOUR setter in intervalSet + return intervalSet[bits.TrailingZeros8(uint8(unary))] +} + +func (itv IntervalType) PartCount() int { + return bits.OnesCount8(uint8(itv & ^intervalMulti)) +} + +func (itv IntervalType) HasTimeParts() bool { + return itv&(IntervalHour|IntervalMinute|IntervalSecond|IntervalMicrosecond) != 0 +} + +func (itv IntervalType) HasDateParts() bool { + return itv&(IntervalYear|IntervalMonth|IntervalDay) != 0 +} + +func (itv IntervalType) HasDayParts() bool { + return (itv & IntervalDay) != 0 +} + +func (itv IntervalType) HasMonthParts() bool { + return (itv & IntervalMonth) != 0 +} + +func (itv IntervalType) NeedsPrecision() bool { + return itv&IntervalMicrosecond != 0 +} + +// ToString returns the type as a string +func (itv IntervalType) ToString() string { + switch itv { + case IntervalYear: + return "year" + case IntervalQuarter: + return "quarter" + case IntervalMonth: + return "month" + case IntervalWeek: + return "week" + case IntervalDay: + return "day" + case IntervalHour: + return "hour" + case IntervalMinute: + return "minute" + case IntervalSecond: + return "second" + case IntervalMicrosecond: + return "microsecond" + case IntervalYearMonth: + return "year_month" + case IntervalDayHour: + return "day_hour" + case IntervalDayMinute: + return "day_minute" + case IntervalDaySecond: + return "day_second" + case IntervalHourMinute: + return "hour_minute" + case IntervalHourSecond: + return "hour_second" + case IntervalMinuteSecond: + return "minute_second" + case IntervalDayMicrosecond: + return "day_microsecond" + case IntervalHourMicrosecond: + return "hour_microsecond" + case IntervalMinuteMicrosecond: + return "minute_microsecond" + case IntervalSecondMicrosecond: + return "second_microsecond" + default: + return "[unknown IntervalType]" + } +} + +func intervalSetYear(tp *Interval, val int) { + tp.year = val +} + +func intervalSetMonth(tp *Interval, val int) { + // if the intervalMulti flag is set, this interval expects QUARTERS instead of months + if tp.unit&intervalMulti != 0 { + val = val * 3 + } + tp.month = val +} + +func intervalSetDay(tp *Interval, val int) { + // if the intervalMulti flag is set, this interval expects WEEKS instead of days + if tp.unit&intervalMulti != 0 { + val = val * 7 + } + tp.day = val +} + +func intervalSetHour(tp *Interval, val int) { + tp.hour = val +} + +func intervalSetMinute(tp *Interval, val int) { + tp.min = val +} + +func intervalSetSecond(tp *Interval, val int) { + tp.sec = val +} + +func intervalSetMicrosecond(tp *Interval, val int) { + // if we are setting the Microseconds in this interval, but the + // interval's type isn't explicitly MICROSECOND (i.e. it's an interval + // with several values besides MICROSECOND), the value being passed + // here won't be a fixed number of microseconds, but a fractional part. + // We need to scale it into microseconds. + // E.g. when parsing a SECOND:MICROSECOND value of '1.5', the input + // to this setter will be 5, but the interval doesn't contain 5 microseconds, + // it contains 500000. We perform the scaling into 6 digits using base10 log. + if tp.unit != IntervalMicrosecond { + digits := int(math.Log10(float64(val)) + 1) + val = val * int(math.Pow10(6-digits)) + } + // we store nsec internally, so convert from microseconds to nanoseconds + tp.nsec = val * 1000 +} + +// parseIntervalFields parses a internal string into separate numeric fields. +// The parsing is extremely lax according to MySQL. Any contiguous run of numbers +// is considered a field, and any non-numeric character is ignored. +func parseIntervalFields(itv string, negate *bool) (fields []int) { + if len(itv) > 0 && itv[0] == '-' { + *negate = !*negate + itv = itv[1:] + } + + for { + for len(itv) > 0 && !('0' <= itv[0] && itv[0] <= '9') { + itv = itv[1:] + } + if len(itv) == 0 { + break + } + + var n int + for len(itv) > 0 && '0' <= itv[0] && itv[0] <= '9' { + n = n*10 + int(itv[0]-'0') + itv = itv[1:] + } + + fields = append(fields, n) + } + return +} + +type Interval struct { + timeparts + unit IntervalType +} + +func (itv *Interval) Unit() IntervalType { + return itv.unit +} + +const maxDay = 3652424 + +func (itv *Interval) inRange() bool { + if itv.day > maxDay { + return false + } + if itv.hour > maxDay*24 { + return false + } + if itv.min > maxDay*24*60 { + return false + } + if itv.sec > maxDay*24*60*60 { + return false + } + return true +} + +// setFromFields sets the duration of interval from a slice of fields and +// the given interval type. +// This follow's MySQL's behavior: if there are fewer fields than the ones +// we'd expect to see in the interval's type, we pick the RIGHTMOST as +// the values for the interval. +// E.g. if our interval type wants HOUR:MINUTE:SECOND and we have [1, 1] +// as input fields, the resulting interval is '1min1sec' +func (itv *Interval) setFromFields(fields []int, unit IntervalType) bool { + parts := unit.PartCount() + if parts == 1 { + unit.setter()(itv, fields[0]) + return true + } + if len(fields) > 3 && parts < 4 { + return false + } + + for f, set := range intervalSet { + if len(fields) == 0 { + break + } + if unit&(1<= 3652500 { + return 0, 0, 0 + } + + year := daynr * 100 / 36525 + leapAdjust := (((year-1)/100 + 1) * 3) / 4 + yday := (daynr - year*365) - (year-1)/4 + leapAdjust + + if diy := daysInYear(year); yday > diy { + yday -= diy + year++ + } + + daycount := daysInMonth + if isLeap(year) { + daycount = daysInMonthLeap + } + for month, dim := range daycount { + if yday <= dim { + return uint16(year), uint8(month + 1), uint8(yday) + } + yday -= dim + } + + panic("unreachable: yday is too large?") +} diff --git a/go/mysql/datetime/mydate_test.go b/go/mysql/datetime/mydate_test.go new file mode 100644 index 00000000000..29ecd2df9d2 --- /dev/null +++ b/go/mysql/datetime/mydate_test.go @@ -0,0 +1,59 @@ +/* +Copyright 2023 The Vitess Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package datetime + +import ( + "encoding/json" + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestDayNumber(t *testing.T) { + td, err := os.Open("testdata/year_to_daynr.json") + require.NoError(t, err) + defer td.Close() + + var expected []int + err = json.NewDecoder(td).Decode(&expected) + require.NoError(t, err) + + for year, daynr := range expected { + assert.Equal(t, daynr, mysqlDayNumber(year, 1, 1)) + } +} + +func TestDayNumberFields(t *testing.T) { + td, err := os.Open("testdata/daynr_to_date.json") + require.NoError(t, err) + defer td.Close() + + var expected [][4]int + err = json.NewDecoder(td).Decode(&expected) + require.NoError(t, err) + + for _, tc := range expected { + y, m, d := mysqlDateFromDayNumber(tc[0]) + assert.Equal(t, tc[1], int(y)) + assert.Equal(t, tc[2], int(m)) + assert.Equal(t, tc[3], int(d)) + + assert.Equalf(t, tc[0], mysqlDayNumber(tc[1], tc[2], tc[3]), "date %d-%d-%d", tc[1], tc[2], tc[3]) + } +} diff --git a/go/mysql/datetime/testdata/daynr_to_date.json b/go/mysql/datetime/testdata/daynr_to_date.json new file mode 100644 index 00000000000..3bb175d97e2 --- /dev/null +++ b/go/mysql/datetime/testdata/daynr_to_date.json @@ -0,0 +1,8188 @@ +[[456, 1, 4, 1], +[559, 1, 7, 13], +[572, 1, 7, 26], +[618, 1, 9, 10], +[785, 2, 2, 24], +[911, 2, 6, 30], +[1067, 2, 12, 3], +[1173, 3, 3, 19], +[1214, 3, 4, 29], +[1402, 3, 11, 3], +[1518, 4, 2, 27], +[1680, 4, 8, 7], +[1706, 4, 9, 2], +[1805, 4, 12, 10], +[1829, 5, 1, 3], +[1861, 5, 2, 4], +[1891, 5, 3, 6], +[1983, 5, 6, 6], +[2043, 5, 8, 5], +[2223, 6, 2, 1], +[2260, 6, 3, 10], +[2367, 6, 6, 25], +[2449, 6, 9, 15], +[2533, 6, 12, 8], +[2682, 7, 5, 6], +[2769, 7, 8, 1], +[2881, 7, 11, 21], +[2962, 8, 2, 10], +[3014, 8, 4, 2], +[3206, 8, 10, 11], +[3253, 8, 11, 27], +[3416, 9, 5, 9], +[3422, 9, 5, 15], +[3601, 9, 11, 10], +[3637, 9, 12, 16], +[3794, 10, 5, 22], +[3885, 10, 8, 21], +[3966, 10, 11, 10], +[3978, 10, 11, 22], +[4012, 10, 12, 26], +[4087, 11, 3, 11], +[4101, 11, 3, 25], +[4138, 11, 5, 1], +[4317, 11, 10, 27], +[4421, 12, 2, 8], +[4440, 12, 2, 27], +[4450, 12, 3, 8], +[4615, 12, 8, 20], +[4671, 12, 10, 15], +[4855, 13, 4, 17], +[4879, 13, 5, 11], +[5057, 13, 11, 5], +[5257, 14, 5, 24], +[5272, 14, 6, 8], +[5313, 14, 7, 19], +[5323, 14, 7, 29], +[5409, 14, 10, 23], +[5525, 15, 2, 16], +[5656, 15, 6, 27], +[5829, 15, 12, 17], +[5914, 16, 3, 11], +[6010, 16, 6, 15], +[6104, 16, 9, 17], +[6241, 17, 2, 1], +[6303, 17, 4, 4], +[6397, 17, 7, 7], +[6516, 17, 11, 3], +[6695, 18, 5, 1], +[6833, 18, 9, 16], +[6994, 19, 2, 24], +[7061, 19, 5, 2], +[7110, 19, 6, 20], +[7229, 19, 10, 17], +[7314, 20, 1, 10], +[7374, 20, 3, 10], +[7462, 20, 6, 6], +[7555, 20, 9, 7], +[7736, 21, 3, 7], +[7862, 21, 7, 11], +[7926, 21, 9, 13], +[7938, 21, 9, 25], +[8021, 21, 12, 17], +[8087, 22, 2, 21], +[8159, 22, 5, 4], +[8218, 22, 7, 2], +[8233, 22, 7, 17], +[8337, 22, 10, 29], +[8488, 23, 3, 29], +[8612, 23, 7, 31], +[8677, 23, 10, 4], +[8705, 23, 11, 1], +[8783, 24, 1, 18], +[8815, 24, 2, 19], +[8944, 24, 6, 27], +[9077, 24, 11, 7], +[9218, 25, 3, 28], +[9376, 25, 9, 2], +[9512, 26, 1, 16], +[9628, 26, 5, 12], +[9764, 26, 9, 25], +[9862, 27, 1, 1], +[10027, 27, 6, 15], +[10161, 27, 10, 27], +[10273, 28, 2, 16], +[10373, 28, 5, 26], +[10542, 28, 11, 11], +[10700, 29, 4, 18], +[10875, 29, 10, 10], +[10995, 30, 2, 7], +[11121, 30, 6, 13], +[11157, 30, 7, 19], +[11314, 30, 12, 23], +[11498, 31, 6, 25], +[11603, 31, 10, 8], +[11779, 32, 4, 1], +[11931, 32, 8, 31], +[12026, 32, 12, 4], +[12063, 33, 1, 10], +[12127, 33, 3, 15], +[12306, 33, 9, 10], +[12337, 33, 10, 11], +[12491, 34, 3, 14], +[12657, 34, 8, 27], +[12832, 35, 2, 18], +[12877, 35, 4, 4], +[13005, 35, 8, 10], +[13038, 35, 9, 12], +[13198, 36, 2, 19], +[13346, 36, 7, 16], +[13532, 37, 1, 18], +[13701, 37, 7, 6], +[13727, 37, 8, 1], +[13829, 37, 11, 11], +[13849, 37, 12, 1], +[13969, 38, 3, 31], +[14112, 38, 8, 21], +[14173, 38, 10, 21], +[14177, 38, 10, 25], +[14363, 39, 4, 29], +[14513, 39, 9, 26], +[14678, 40, 3, 9], +[14846, 40, 8, 24], +[15036, 41, 3, 2], +[15159, 41, 7, 3], +[15266, 41, 10, 18], +[15450, 42, 4, 20], +[15618, 42, 10, 5], +[15683, 42, 12, 9], +[15754, 43, 2, 18], +[15883, 43, 6, 27], +[16058, 43, 12, 19], +[16082, 44, 1, 12], +[16198, 44, 5, 7], +[16375, 44, 10, 31], +[16467, 45, 1, 31], +[16486, 45, 2, 19], +[16511, 45, 3, 16], +[16642, 45, 7, 25], +[16751, 45, 11, 11], +[16949, 46, 5, 28], +[17077, 46, 10, 3], +[17116, 46, 11, 11], +[17206, 47, 2, 9], +[17388, 47, 8, 10], +[17562, 48, 1, 31], +[17741, 48, 7, 28], +[17873, 48, 12, 7], +[17963, 49, 3, 7], +[17983, 49, 3, 27], +[18069, 49, 6, 21], +[18144, 49, 9, 4], +[18343, 50, 3, 22], +[18387, 50, 5, 5], +[18519, 50, 9, 14], +[18645, 51, 1, 18], +[18729, 51, 4, 12], +[18742, 51, 4, 25], +[18839, 51, 7, 31], +[18890, 51, 9, 20], +[19027, 52, 2, 4], +[19042, 52, 2, 19], +[19128, 52, 5, 15], +[19296, 52, 10, 30], +[19416, 53, 2, 27], +[19566, 53, 7, 27], +[19624, 53, 9, 23], +[19685, 53, 11, 23], +[19821, 54, 4, 8], +[19909, 54, 7, 5], +[20006, 54, 10, 10], +[20139, 55, 2, 20], +[20336, 55, 9, 5], +[20505, 56, 2, 21], +[20655, 56, 7, 20], +[20841, 57, 1, 22], +[20906, 57, 3, 28], +[20931, 57, 4, 22], +[21114, 57, 10, 22], +[21158, 57, 12, 5], +[21246, 58, 3, 3], +[21414, 58, 8, 18], +[21528, 58, 12, 10], +[21550, 59, 1, 1], +[21582, 59, 2, 2], +[21731, 59, 7, 1], +[21903, 59, 12, 20], +[22062, 60, 5, 27], +[22128, 60, 8, 1], +[22212, 60, 10, 24], +[22411, 61, 5, 11], +[22568, 61, 10, 15], +[22591, 61, 11, 7], +[22647, 62, 1, 2], +[22710, 62, 3, 6], +[22840, 62, 7, 14], +[22850, 62, 7, 24], +[23046, 63, 2, 5], +[23231, 63, 8, 9], +[23248, 63, 8, 26], +[23273, 63, 9, 20], +[23347, 63, 12, 3], +[23444, 64, 3, 9], +[23482, 64, 4, 16], +[23682, 64, 11, 2], +[23806, 65, 3, 6], +[23957, 65, 8, 4], +[24061, 65, 11, 16], +[24120, 66, 1, 14], +[24160, 66, 2, 23], +[24298, 66, 7, 11], +[24450, 66, 12, 10], +[24567, 67, 4, 6], +[24704, 67, 8, 21], +[24773, 67, 10, 29], +[24973, 68, 5, 16], +[25079, 68, 8, 30], +[25170, 68, 11, 29], +[25350, 69, 5, 28], +[25496, 69, 10, 21], +[25611, 70, 2, 13], +[25732, 70, 6, 14], +[25782, 70, 8, 3], +[25937, 71, 1, 5], +[26109, 71, 6, 26], +[26300, 72, 1, 3], +[26319, 72, 1, 22], +[26325, 72, 1, 28], +[26448, 72, 5, 30], +[26627, 72, 11, 25], +[26752, 73, 3, 30], +[26775, 73, 4, 22], +[26836, 73, 6, 22], +[26870, 73, 7, 26], +[26967, 73, 10, 31], +[27013, 73, 12, 16], +[27028, 73, 12, 31], +[27164, 74, 5, 16], +[27350, 74, 11, 18], +[27412, 75, 1, 19], +[27503, 75, 4, 20], +[27692, 75, 10, 26], +[27700, 75, 11, 3], +[27875, 76, 4, 26], +[27937, 76, 6, 27], +[27984, 76, 8, 13], +[28058, 76, 10, 26], +[28217, 77, 4, 3], +[28264, 77, 5, 20], +[28436, 77, 11, 8], +[28620, 78, 5, 11], +[28741, 78, 9, 9], +[28878, 79, 1, 24], +[28916, 79, 3, 3], +[29032, 79, 6, 27], +[29084, 79, 8, 18], +[29096, 79, 8, 30], +[29136, 79, 10, 9], +[29143, 79, 10, 16], +[29218, 79, 12, 30], +[29335, 80, 4, 25], +[29361, 80, 5, 21], +[29388, 80, 6, 17], +[29468, 80, 9, 5], +[29482, 80, 9, 19], +[29665, 81, 3, 21], +[29666, 81, 3, 22], +[29672, 81, 3, 28], +[29759, 81, 6, 23], +[29861, 81, 10, 3], +[30050, 82, 4, 10], +[30101, 82, 5, 31], +[30293, 82, 12, 9], +[30338, 83, 1, 23], +[30513, 83, 7, 17], +[30667, 83, 12, 18], +[30859, 84, 6, 27], +[30925, 84, 9, 1], +[31078, 85, 2, 1], +[31101, 85, 2, 24], +[31134, 85, 3, 29], +[31284, 85, 8, 26], +[31400, 85, 12, 20], +[31470, 86, 2, 28], +[31628, 86, 8, 5], +[31803, 87, 1, 27], +[31850, 87, 3, 15], +[32031, 87, 9, 12], +[32093, 87, 11, 13], +[32293, 88, 5, 31], +[32411, 88, 9, 26], +[32565, 89, 2, 27], +[32710, 89, 7, 22], +[32889, 90, 1, 17], +[33066, 90, 7, 13], +[33243, 91, 1, 6], +[33370, 91, 5, 13], +[33462, 91, 8, 13], +[33619, 92, 1, 17], +[33730, 92, 5, 7], +[33874, 92, 9, 28], +[33925, 92, 11, 18], +[34037, 93, 3, 10], +[34229, 93, 9, 18], +[34411, 94, 3, 19], +[34448, 94, 4, 25], +[34602, 94, 9, 26], +[34747, 95, 2, 18], +[34914, 95, 8, 4], +[35003, 95, 11, 1], +[35106, 96, 2, 12], +[35159, 96, 4, 5], +[35182, 96, 4, 28], +[35382, 96, 11, 14], +[35387, 96, 11, 19], +[35555, 97, 5, 6], +[35636, 97, 7, 26], +[35710, 97, 10, 8], +[35876, 98, 3, 23], +[36055, 98, 9, 18], +[36182, 99, 1, 23], +[36336, 99, 6, 26], +[36510, 99, 12, 17], +[36523, 99, 12, 30], +[36646, 100, 5, 2], +[36803, 100, 10, 6], +[36881, 100, 12, 23], +[37053, 101, 6, 13], +[37159, 101, 9, 27], +[37316, 102, 3, 3], +[37388, 102, 5, 14], +[37545, 102, 10, 18], +[37624, 103, 1, 5], +[37666, 103, 2, 16], +[37705, 103, 3, 27], +[37809, 103, 7, 9], +[37836, 103, 8, 5], +[37868, 103, 9, 6], +[38031, 104, 2, 16], +[38175, 104, 7, 9], +[38269, 104, 10, 11], +[38361, 105, 1, 11], +[38483, 105, 5, 13], +[38642, 105, 10, 19], +[38714, 105, 12, 30], +[38795, 106, 3, 21], +[38893, 106, 6, 27], +[38983, 106, 9, 25], +[39116, 107, 2, 5], +[39262, 107, 7, 1], +[39336, 107, 9, 13], +[39456, 108, 1, 11], +[39521, 108, 3, 16], +[39529, 108, 3, 24], +[39719, 108, 9, 30], +[39888, 109, 3, 18], +[39988, 109, 6, 26], +[40092, 109, 10, 8], +[40152, 109, 12, 7], +[40244, 110, 3, 9], +[40410, 110, 8, 22], +[40480, 110, 10, 31], +[40508, 110, 11, 28], +[40514, 110, 12, 4], +[40662, 111, 5, 1], +[40850, 111, 11, 5], +[40854, 111, 11, 9], +[40951, 112, 2, 14], +[41039, 112, 5, 12], +[41166, 112, 9, 16], +[41269, 112, 12, 28], +[41427, 113, 6, 4], +[41575, 113, 10, 30], +[41633, 113, 12, 27], +[41641, 114, 1, 4], +[41682, 114, 2, 14], +[41694, 114, 2, 26], +[41774, 114, 5, 17], +[41890, 114, 9, 10], +[41893, 114, 9, 13], +[41933, 114, 10, 23], +[41963, 114, 11, 22], +[42012, 115, 1, 10], +[42013, 115, 1, 11], +[42117, 115, 4, 25], +[42164, 115, 6, 11], +[42331, 115, 11, 25], +[42481, 116, 4, 23], +[42521, 116, 6, 2], +[42525, 116, 6, 6], +[42557, 116, 7, 8], +[42604, 116, 8, 24], +[42612, 116, 9, 1], +[42744, 117, 1, 11], +[42898, 117, 6, 14], +[42914, 117, 6, 30], +[42961, 117, 8, 16], +[43134, 118, 2, 5], +[43222, 118, 5, 4], +[43346, 118, 9, 5], +[43386, 118, 10, 15], +[43495, 119, 2, 1], +[43683, 119, 8, 8], +[43812, 119, 12, 15], +[43950, 120, 5, 1], +[44027, 120, 7, 17], +[44156, 120, 11, 23], +[44242, 121, 2, 17], +[44379, 121, 7, 4], +[44392, 121, 7, 17], +[44588, 122, 1, 29], +[44763, 122, 7, 23], +[44828, 122, 9, 26], +[44837, 122, 10, 5], +[44905, 122, 12, 12], +[45032, 123, 4, 18], +[45066, 123, 5, 22], +[45114, 123, 7, 9], +[45243, 123, 11, 15], +[45268, 123, 12, 10], +[45286, 123, 12, 28], +[45436, 124, 5, 26], +[45571, 124, 10, 8], +[45572, 124, 10, 9], +[45713, 125, 2, 27], +[45771, 125, 4, 26], +[45919, 125, 9, 21], +[46098, 126, 3, 19], +[46221, 126, 7, 20], +[46403, 127, 1, 18], +[46492, 127, 4, 17], +[46599, 127, 8, 2], +[46604, 127, 8, 7], +[46613, 127, 8, 16], +[46672, 127, 10, 14], +[46773, 128, 1, 23], +[46825, 128, 3, 15], +[46848, 128, 4, 7], +[47037, 128, 10, 13], +[47075, 128, 11, 20], +[47225, 129, 4, 19], +[47235, 129, 4, 29], +[47401, 129, 10, 12], +[47567, 130, 3, 27], +[47735, 130, 9, 11], +[47768, 130, 10, 14], +[47873, 131, 1, 27], +[47977, 131, 5, 11], +[48124, 131, 10, 5], +[48274, 132, 3, 3], +[48351, 132, 5, 19], +[48373, 132, 6, 10], +[48474, 132, 9, 19], +[48497, 132, 10, 12], +[48619, 133, 2, 11], +[48631, 133, 2, 23], +[48745, 133, 6, 17], +[48793, 133, 8, 4], +[48935, 133, 12, 24], +[49011, 134, 3, 10], +[49058, 134, 4, 26], +[49108, 134, 6, 15], +[49174, 134, 8, 20], +[49242, 134, 10, 27], +[49278, 134, 12, 2], +[49366, 135, 2, 28], +[49435, 135, 5, 8], +[49606, 135, 10, 26], +[49786, 136, 4, 23], +[49931, 136, 9, 15], +[50044, 137, 1, 6], +[50127, 137, 3, 30], +[50258, 137, 8, 8], +[50315, 137, 10, 4], +[50438, 138, 2, 4], +[50572, 138, 6, 18], +[50630, 138, 8, 15], +[50633, 138, 8, 18], +[50799, 139, 1, 31], +[50981, 139, 8, 1], +[51027, 139, 9, 16], +[51084, 139, 11, 12], +[51200, 140, 3, 7], +[51229, 140, 4, 5], +[51389, 140, 9, 12], +[51464, 140, 11, 26], +[51654, 141, 6, 4], +[51801, 141, 10, 29], +[51925, 142, 3, 2], +[52074, 142, 7, 29], +[52191, 142, 11, 23], +[52284, 143, 2, 24], +[52431, 143, 7, 21], +[52504, 143, 10, 2], +[52587, 143, 12, 24], +[52661, 144, 3, 7], +[52728, 144, 5, 13], +[52771, 144, 6, 25], +[52914, 144, 11, 15], +[52978, 145, 1, 18], +[53001, 145, 2, 10], +[53085, 145, 5, 5], +[53244, 145, 10, 11], +[53296, 145, 12, 2], +[53330, 146, 1, 5], +[53372, 146, 2, 16], +[53385, 146, 3, 1], +[53401, 146, 3, 17], +[53502, 146, 6, 26], +[53516, 146, 7, 10], +[53574, 146, 9, 6], +[53654, 146, 11, 25], +[53702, 147, 1, 12], +[53846, 147, 6, 5], +[53892, 147, 7, 21], +[54067, 148, 1, 12], +[54105, 148, 2, 19], +[54304, 148, 9, 5], +[54374, 148, 11, 14], +[54559, 149, 5, 18], +[54586, 149, 6, 14], +[54745, 149, 11, 20], +[54843, 150, 2, 26], +[54932, 150, 5, 26], +[54937, 150, 5, 31], +[54972, 150, 7, 5], +[54981, 150, 7, 14], +[54991, 150, 7, 24], +[55008, 150, 8, 10], +[55063, 150, 10, 4], +[55095, 150, 11, 5], +[55279, 151, 5, 8], +[55308, 151, 6, 6], +[55312, 151, 6, 10], +[55406, 151, 9, 12], +[55441, 151, 10, 17], +[55491, 151, 12, 6], +[55590, 152, 3, 14], +[55756, 152, 8, 27], +[55776, 152, 9, 16], +[55834, 152, 11, 13], +[55935, 153, 2, 22], +[55986, 153, 4, 14], +[56105, 153, 8, 11], +[56139, 153, 9, 14], +[56315, 154, 3, 9], +[56343, 154, 4, 6], +[56406, 154, 6, 8], +[56550, 154, 10, 30], +[56706, 155, 4, 4], +[56906, 155, 10, 21], +[56964, 155, 12, 18], +[57118, 156, 5, 20], +[57256, 156, 10, 5], +[57419, 157, 3, 17], +[57474, 157, 5, 11], +[57608, 157, 9, 22], +[57719, 158, 1, 11], +[57725, 158, 1, 17], +[57814, 158, 4, 16], +[57878, 158, 6, 19], +[57881, 158, 6, 22], +[58019, 158, 11, 7], +[58026, 158, 11, 14], +[58084, 159, 1, 11], +[58105, 159, 2, 1], +[58135, 159, 3, 3], +[58292, 159, 8, 7], +[58483, 160, 2, 14], +[58557, 160, 4, 28], +[58639, 160, 7, 19], +[58665, 160, 8, 14], +[58812, 161, 1, 8], +[58822, 161, 1, 18], +[58961, 161, 6, 6], +[59055, 161, 9, 8], +[59235, 162, 3, 7], +[59304, 162, 5, 15], +[59372, 162, 7, 22], +[59407, 162, 8, 26], +[59488, 162, 11, 15], +[59627, 163, 4, 3], +[59690, 163, 6, 5], +[59870, 163, 12, 2], +[59876, 163, 12, 8], +[59954, 164, 2, 24], +[60106, 164, 7, 25], +[60153, 164, 9, 10], +[60179, 164, 10, 6], +[60315, 165, 2, 19], +[60353, 165, 3, 29], +[60517, 165, 9, 9], +[60615, 165, 12, 16], +[60668, 166, 2, 7], +[60729, 166, 4, 9], +[60760, 166, 5, 10], +[60766, 166, 5, 16], +[60876, 166, 9, 3], +[60948, 166, 11, 14], +[60987, 166, 12, 23], +[61185, 167, 7, 9], +[61341, 167, 12, 12], +[61521, 168, 6, 9], +[61576, 168, 8, 3], +[61714, 168, 12, 19], +[61836, 169, 4, 20], +[61890, 169, 6, 13], +[62060, 169, 11, 30], +[62153, 170, 3, 3], +[62239, 170, 5, 28], +[62305, 170, 8, 2], +[62352, 170, 9, 18], +[62444, 170, 12, 19], +[62625, 171, 6, 18], +[62628, 171, 6, 21], +[62782, 171, 11, 22], +[62793, 171, 12, 3], +[62808, 171, 12, 18], +[62888, 172, 3, 7], +[62901, 172, 3, 20], +[62948, 172, 5, 6], +[63060, 172, 8, 26], +[63242, 173, 2, 24], +[63425, 173, 8, 26], +[63587, 174, 2, 4], +[63733, 174, 6, 30], +[63752, 174, 7, 19], +[63927, 175, 1, 10], +[63970, 175, 2, 22], +[64083, 175, 6, 15], +[64176, 175, 9, 16], +[64214, 175, 10, 24], +[64361, 176, 3, 19], +[64497, 176, 8, 2], +[64528, 176, 9, 2], +[64721, 177, 3, 14], +[64783, 177, 5, 15], +[64914, 177, 9, 23], +[64926, 177, 10, 5], +[65059, 178, 2, 15], +[65107, 178, 4, 4], +[65209, 178, 7, 15], +[65377, 178, 12, 30], +[65489, 179, 4, 21], +[65532, 179, 6, 3], +[65596, 179, 8, 6], +[65784, 180, 2, 10], +[65917, 180, 6, 22], +[65995, 180, 9, 8], +[66102, 180, 12, 24], +[66228, 181, 4, 29], +[66232, 181, 5, 3], +[66296, 181, 7, 6], +[66429, 181, 11, 16], +[66529, 182, 2, 24], +[66708, 182, 8, 22], +[66846, 183, 1, 7], +[66911, 183, 3, 13], +[66977, 183, 5, 18], +[67144, 183, 11, 1], +[67165, 183, 11, 22], +[67289, 184, 3, 25], +[67305, 184, 4, 10], +[67425, 184, 8, 8], +[67517, 184, 11, 8], +[67706, 185, 5, 16], +[67715, 185, 5, 25], +[67885, 185, 11, 11], +[68064, 186, 5, 9], +[68194, 186, 9, 16], +[68385, 187, 3, 26], +[68545, 187, 9, 2], +[68680, 188, 1, 15], +[68687, 188, 1, 22], +[68852, 188, 7, 5], +[68943, 188, 10, 4], +[68948, 188, 10, 9], +[69103, 189, 3, 13], +[69160, 189, 5, 9], +[69167, 189, 5, 16], +[69236, 189, 7, 24], +[69254, 189, 8, 11], +[69400, 190, 1, 4], +[69489, 190, 4, 3], +[69573, 190, 6, 26], +[69726, 190, 11, 26], +[69803, 191, 2, 11], +[69806, 191, 2, 14], +[69830, 191, 3, 10], +[70029, 191, 9, 25], +[70211, 192, 3, 25], +[70404, 192, 10, 4], +[70529, 193, 2, 6], +[70715, 193, 8, 11], +[70774, 193, 10, 9], +[70883, 194, 1, 26], +[71004, 194, 5, 27], +[71022, 194, 6, 14], +[71067, 194, 7, 29], +[71172, 194, 11, 11], +[71286, 195, 3, 5], +[71466, 195, 9, 1], +[71575, 195, 12, 19], +[71616, 196, 1, 29], +[71618, 196, 1, 31], +[71812, 196, 8, 12], +[71836, 196, 9, 5], +[72026, 197, 3, 14], +[72157, 197, 7, 23], +[72163, 197, 7, 29], +[72351, 198, 2, 2], +[72466, 198, 5, 28], +[72549, 198, 8, 19], +[72578, 198, 9, 17], +[72620, 198, 10, 29], +[72745, 199, 3, 3], +[72859, 199, 6, 25], +[72964, 199, 10, 8], +[73117, 200, 3, 10], +[73247, 200, 7, 18], +[73252, 200, 7, 23], +[73418, 201, 1, 5], +[73440, 201, 1, 27], +[73460, 201, 2, 16], +[73543, 201, 5, 10], +[73599, 201, 7, 5], +[73759, 201, 12, 12], +[73783, 202, 1, 5], +[73959, 202, 6, 30], +[74041, 202, 9, 20], +[74079, 202, 10, 28], +[74095, 202, 11, 13], +[74277, 203, 5, 14], +[74459, 203, 11, 12], +[74476, 203, 11, 29], +[74559, 204, 2, 20], +[74650, 204, 5, 21], +[74815, 204, 11, 2], +[74829, 204, 11, 16], +[74922, 205, 2, 17], +[75008, 205, 5, 14], +[75164, 205, 10, 17], +[75352, 206, 4, 23], +[75484, 206, 9, 2], +[75592, 206, 12, 19], +[75605, 207, 1, 1], +[75771, 207, 6, 16], +[75843, 207, 8, 27], +[75857, 207, 9, 10], +[75905, 207, 10, 28], +[75950, 207, 12, 12], +[76098, 208, 5, 8], +[76206, 208, 8, 24], +[76383, 209, 2, 17], +[76523, 209, 7, 7], +[76680, 209, 12, 11], +[76728, 210, 1, 28], +[76925, 210, 8, 13], +[77075, 211, 1, 10], +[77263, 211, 7, 17], +[77453, 212, 1, 23], +[77460, 212, 1, 30], +[77486, 212, 2, 25], +[77487, 212, 2, 26], +[77544, 212, 4, 23], +[77587, 212, 6, 5], +[77711, 212, 10, 7], +[77730, 212, 10, 26], +[77771, 212, 12, 6], +[77875, 213, 3, 20], +[77885, 213, 3, 30], +[77947, 213, 5, 31], +[78112, 213, 11, 12], +[78192, 214, 1, 31], +[78288, 214, 5, 7], +[78382, 214, 8, 9], +[78522, 214, 12, 27], +[78604, 215, 3, 19], +[78778, 215, 9, 9], +[78787, 215, 9, 18], +[78972, 216, 3, 21], +[78975, 216, 3, 24], +[79175, 216, 10, 10], +[79249, 216, 12, 23], +[79306, 217, 2, 18], +[79489, 217, 8, 20], +[79676, 218, 2, 23], +[79762, 218, 5, 20], +[79857, 218, 8, 23], +[79961, 218, 12, 5], +[80134, 219, 5, 27], +[80236, 219, 9, 6], +[80321, 219, 11, 30], +[80472, 220, 4, 29], +[80541, 220, 7, 7], +[80657, 220, 10, 31], +[80830, 221, 4, 22], +[80985, 221, 9, 24], +[81176, 222, 4, 3], +[81360, 222, 10, 4], +[81378, 222, 10, 22], +[81409, 222, 11, 22], +[81593, 223, 5, 25], +[81786, 223, 12, 4], +[81965, 224, 5, 31], +[81979, 224, 6, 14], +[81999, 224, 7, 4], +[82070, 224, 9, 13], +[82130, 224, 11, 12], +[82276, 225, 4, 7], +[82413, 225, 8, 22], +[82578, 226, 2, 3], +[82722, 226, 6, 27], +[82730, 226, 7, 5], +[82734, 226, 7, 9], +[82844, 226, 10, 27], +[82955, 227, 2, 15], +[83127, 227, 8, 6], +[83254, 227, 12, 11], +[83351, 228, 3, 17], +[83503, 228, 8, 16], +[83667, 229, 1, 27], +[83822, 229, 7, 1], +[83927, 229, 10, 14], +[84028, 230, 1, 23], +[84114, 230, 4, 19], +[84149, 230, 5, 24], +[84226, 230, 8, 9], +[84354, 230, 12, 15], +[84489, 231, 4, 29], +[84507, 231, 5, 17], +[84684, 231, 11, 10], +[84763, 232, 1, 28], +[84845, 232, 4, 19], +[85006, 232, 9, 27], +[85018, 232, 10, 9], +[85155, 233, 2, 23], +[85290, 233, 7, 8], +[85486, 234, 1, 20], +[85528, 234, 3, 3], +[85670, 234, 7, 23], +[85710, 234, 9, 1], +[85782, 234, 11, 12], +[85830, 234, 12, 30], +[85992, 235, 6, 10], +[86076, 235, 9, 2], +[86099, 235, 9, 25], +[86281, 236, 3, 25], +[86316, 236, 4, 29], +[86456, 236, 9, 16], +[86500, 236, 10, 30], +[86629, 237, 3, 8], +[86711, 237, 5, 29], +[86818, 237, 9, 13], +[86915, 237, 12, 19], +[86977, 238, 2, 19], +[87128, 238, 7, 20], +[87270, 238, 12, 9], +[87469, 239, 6, 26], +[87557, 239, 9, 22], +[87642, 239, 12, 16], +[87783, 240, 5, 5], +[87970, 240, 11, 8], +[88020, 240, 12, 28], +[88024, 241, 1, 1], +[88128, 241, 4, 15], +[88207, 241, 7, 3], +[88336, 241, 11, 9], +[88345, 241, 11, 18], +[88378, 241, 12, 21], +[88519, 242, 5, 11], +[88556, 242, 6, 17], +[88730, 242, 12, 8], +[88880, 243, 5, 7], +[89041, 243, 10, 15], +[89059, 243, 11, 2], +[89167, 244, 2, 18], +[89245, 244, 5, 6], +[89417, 244, 10, 25], +[89614, 245, 5, 10], +[89628, 245, 5, 24], +[89696, 245, 7, 31], +[89735, 245, 9, 8], +[89793, 245, 11, 5], +[89858, 246, 1, 9], +[90055, 246, 7, 25], +[90210, 246, 12, 27], +[90246, 247, 2, 1], +[90301, 247, 3, 28], +[90379, 247, 6, 14], +[90464, 247, 9, 7], +[90653, 248, 3, 14], +[90792, 248, 7, 31], +[90886, 248, 11, 2], +[90930, 248, 12, 16], +[91126, 249, 6, 30], +[91260, 249, 11, 11], +[91340, 250, 1, 30], +[91392, 250, 3, 23], +[91507, 250, 7, 16], +[91661, 250, 12, 17], +[91680, 251, 1, 5], +[91722, 251, 2, 16], +[91893, 251, 8, 6], +[92022, 251, 12, 13], +[92078, 252, 2, 7], +[92277, 252, 8, 24], +[92404, 252, 12, 29], +[92448, 253, 2, 11], +[92621, 253, 8, 3], +[92696, 253, 10, 17], +[92889, 254, 4, 28], +[93011, 254, 8, 28], +[93165, 255, 1, 29], +[93364, 255, 8, 16], +[93451, 255, 11, 11], +[93651, 256, 5, 29], +[93749, 256, 9, 4], +[93817, 256, 11, 11], +[93980, 257, 4, 23], +[94112, 257, 9, 2], +[94146, 257, 10, 6], +[94172, 257, 11, 1], +[94178, 257, 11, 7], +[94255, 258, 1, 23], +[94437, 258, 7, 24], +[94501, 258, 9, 26], +[94528, 258, 10, 23], +[94661, 259, 3, 5], +[94725, 259, 5, 8], +[94802, 259, 7, 24], +[94990, 260, 1, 28], +[95114, 260, 5, 31], +[95164, 260, 7, 20], +[95211, 260, 9, 5], +[95333, 261, 1, 5], +[95409, 261, 3, 22], +[95572, 261, 9, 1], +[95669, 261, 12, 7], +[95757, 262, 3, 5], +[95768, 262, 3, 16], +[95938, 262, 9, 2], +[96123, 263, 3, 6], +[96141, 263, 3, 24], +[96285, 263, 8, 15], +[96383, 263, 11, 21], +[96486, 264, 3, 3], +[96544, 264, 4, 30], +[96727, 264, 10, 30], +[96805, 265, 1, 16], +[96870, 265, 3, 22], +[96950, 265, 6, 10], +[96989, 265, 7, 19], +[97108, 265, 11, 15], +[97167, 266, 1, 13], +[97246, 266, 4, 2], +[97281, 266, 5, 7], +[97391, 266, 8, 25], +[97415, 266, 9, 18], +[97508, 266, 12, 20], +[97670, 267, 5, 31], +[97835, 267, 11, 12], +[98002, 268, 4, 27], +[98083, 268, 7, 17], +[98180, 268, 10, 22], +[98364, 269, 4, 24], +[98394, 269, 5, 24], +[98418, 269, 6, 17], +[98549, 269, 10, 26], +[98697, 270, 3, 23], +[98720, 270, 4, 15], +[98912, 270, 10, 24], +[99005, 271, 1, 25], +[99074, 271, 4, 4], +[99150, 271, 6, 19], +[99346, 272, 1, 1], +[99513, 272, 6, 16], +[99569, 272, 8, 11], +[99672, 272, 11, 22], +[99844, 273, 5, 13], +[99891, 273, 6, 29], +[99982, 273, 9, 28], +[100180, 274, 4, 14], +[100331, 274, 9, 12], +[100477, 275, 2, 5], +[100627, 275, 7, 5], +[100659, 275, 8, 6], +[100741, 275, 10, 27], +[100847, 276, 2, 10], +[101009, 276, 7, 21], +[101066, 276, 9, 16], +[101123, 276, 11, 12], +[101252, 277, 3, 21], +[101375, 277, 7, 22], +[101443, 277, 9, 28], +[101504, 277, 11, 28], +[101680, 278, 5, 23], +[101746, 278, 7, 28], +[101849, 278, 11, 8], +[101969, 279, 3, 8], +[102076, 279, 6, 23], +[102157, 279, 9, 12], +[102206, 279, 10, 31], +[102291, 280, 1, 24], +[102432, 280, 6, 13], +[102502, 280, 8, 22], +[102608, 280, 12, 6], +[102617, 280, 12, 15], +[102808, 281, 6, 24], +[102839, 281, 7, 25], +[102884, 281, 9, 8], +[102988, 281, 12, 21], +[103109, 282, 4, 21], +[103276, 282, 10, 5], +[103470, 283, 4, 17], +[103595, 283, 8, 20], +[103739, 284, 1, 11], +[103795, 284, 3, 7], +[103935, 284, 7, 25], +[104118, 285, 1, 24], +[104198, 285, 4, 14], +[104280, 285, 7, 5], +[104454, 285, 12, 26], +[104532, 286, 3, 14], +[104679, 286, 8, 8], +[104716, 286, 9, 14], +[104718, 286, 9, 16], +[104876, 287, 2, 21], +[104934, 287, 4, 20], +[105117, 287, 10, 20], +[105315, 288, 5, 5], +[105405, 288, 8, 3], +[105602, 289, 2, 16], +[105692, 289, 5, 17], +[105877, 289, 11, 18], +[106025, 290, 4, 15], +[106159, 290, 8, 27], +[106305, 291, 1, 20], +[106455, 291, 6, 19], +[106536, 291, 9, 8], +[106716, 292, 3, 6], +[106816, 292, 6, 14], +[106820, 292, 6, 18], +[106834, 292, 7, 2], +[106918, 292, 9, 24], +[107071, 293, 2, 24], +[107141, 293, 5, 5], +[107187, 293, 6, 20], +[107242, 293, 8, 14], +[107299, 293, 10, 10], +[107499, 294, 4, 28], +[107640, 294, 9, 16], +[107833, 295, 3, 28], +[107874, 295, 5, 8], +[107980, 295, 8, 22], +[108078, 295, 11, 28], +[108102, 295, 12, 22], +[108188, 296, 3, 17], +[108193, 296, 3, 22], +[108232, 296, 4, 30], +[108292, 296, 6, 29], +[108308, 296, 7, 15], +[108423, 296, 11, 7], +[108509, 297, 2, 1], +[108658, 297, 6, 30], +[108837, 297, 12, 26], +[108863, 298, 1, 21], +[108978, 298, 5, 16], +[109095, 298, 9, 10], +[109286, 299, 3, 20], +[109461, 299, 9, 11], +[109488, 299, 10, 8], +[109511, 299, 10, 31], +[109598, 300, 1, 26], +[109599, 300, 1, 27], +[109763, 300, 7, 10], +[109852, 300, 10, 7], +[109896, 300, 11, 20], +[109944, 301, 1, 7], +[110047, 301, 4, 20], +[110174, 301, 8, 25], +[110308, 302, 1, 6], +[110340, 302, 2, 7], +[110486, 302, 7, 3], +[110606, 302, 10, 31], +[110667, 302, 12, 31], +[110809, 303, 5, 22], +[110811, 303, 5, 24], +[110929, 303, 9, 19], +[111107, 304, 3, 15], +[111259, 304, 8, 14], +[111298, 304, 9, 22], +[111469, 305, 3, 12], +[111610, 305, 7, 31], +[111720, 305, 11, 18], +[111751, 305, 12, 19], +[111804, 306, 2, 10], +[111822, 306, 2, 28], +[111953, 306, 7, 9], +[112135, 307, 1, 7], +[112285, 307, 6, 6], +[112296, 307, 6, 17], +[112457, 307, 11, 25], +[112493, 307, 12, 31], +[112665, 308, 6, 20], +[112686, 308, 7, 11], +[112783, 308, 10, 16], +[112967, 309, 4, 18], +[113063, 309, 7, 23], +[113158, 309, 10, 26], +[113344, 310, 4, 30], +[113374, 310, 5, 30], +[113457, 310, 8, 21], +[113612, 311, 1, 23], +[113667, 311, 3, 19], +[113840, 311, 9, 8], +[113902, 311, 11, 9], +[114074, 312, 4, 29], +[114190, 312, 8, 23], +[114261, 312, 11, 2], +[114386, 313, 3, 7], +[114467, 313, 5, 27], +[114581, 313, 9, 18], +[114663, 313, 12, 9], +[114790, 314, 4, 15], +[114894, 314, 7, 28], +[114986, 314, 10, 28], +[115062, 315, 1, 12], +[115082, 315, 2, 1], +[115083, 315, 2, 2], +[115113, 315, 3, 4], +[115268, 315, 8, 6], +[115390, 315, 12, 6], +[115484, 316, 3, 9], +[115635, 316, 8, 7], +[115791, 317, 1, 10], +[115848, 317, 3, 8], +[116035, 317, 9, 11], +[116122, 317, 12, 7], +[116230, 318, 3, 25], +[116362, 318, 8, 4], +[116416, 318, 9, 27], +[116435, 318, 10, 16], +[116626, 319, 4, 25], +[116761, 319, 9, 7], +[116900, 320, 1, 24], +[117069, 320, 7, 11], +[117088, 320, 7, 30], +[117206, 320, 11, 25], +[117365, 321, 5, 3], +[117514, 321, 9, 29], +[117520, 321, 10, 5], +[117692, 322, 3, 26], +[117886, 322, 10, 6], +[117968, 322, 12, 27], +[118103, 323, 5, 11], +[118268, 323, 10, 23], +[118333, 323, 12, 27], +[118339, 324, 1, 2], +[118448, 324, 4, 20], +[118573, 324, 8, 23], +[118591, 324, 9, 10], +[118724, 325, 1, 21], +[118894, 325, 7, 10], +[118946, 325, 8, 31], +[119091, 326, 1, 23], +[119273, 326, 7, 24], +[119380, 326, 11, 8], +[119579, 327, 5, 26], +[119602, 327, 6, 18], +[119640, 327, 7, 26], +[119702, 327, 9, 26], +[119790, 327, 12, 23], +[119926, 328, 5, 7], +[120054, 328, 9, 12], +[120239, 329, 3, 16], +[120436, 329, 9, 29], +[120598, 330, 3, 10], +[120679, 330, 5, 30], +[120824, 330, 10, 22], +[120961, 331, 3, 8], +[121143, 331, 9, 6], +[121162, 331, 9, 25], +[121216, 331, 11, 18], +[121230, 331, 12, 2], +[121419, 332, 6, 8], +[121608, 332, 12, 14], +[121639, 333, 1, 14], +[121664, 333, 2, 8], +[121679, 333, 2, 23], +[121709, 333, 3, 25], +[121783, 333, 6, 7], +[121823, 333, 7, 17], +[121858, 333, 8, 21], +[121939, 333, 11, 10], +[121991, 334, 1, 1], +[122133, 334, 5, 23], +[122200, 334, 7, 29], +[122345, 334, 12, 21], +[122507, 335, 6, 1], +[122539, 335, 7, 3], +[122684, 335, 11, 25], +[122730, 336, 1, 10], +[122813, 336, 4, 2], +[122862, 336, 5, 21], +[123009, 336, 10, 15], +[123097, 337, 1, 11], +[123293, 337, 7, 26], +[123323, 337, 8, 25], +[123330, 337, 9, 1], +[123500, 338, 2, 18], +[123535, 338, 3, 25], +[123696, 338, 9, 2], +[123713, 338, 9, 19], +[123852, 339, 2, 5], +[123930, 339, 4, 24], +[123985, 339, 6, 18], +[123994, 339, 6, 27], +[124090, 339, 10, 1], +[124237, 340, 2, 25], +[124427, 340, 9, 2], +[124613, 341, 3, 7], +[124644, 341, 4, 7], +[124671, 341, 5, 4], +[124766, 341, 8, 7], +[124837, 341, 10, 17], +[124969, 342, 2, 26], +[125075, 342, 6, 12], +[125217, 342, 11, 1], +[125385, 343, 4, 18], +[125477, 343, 7, 19], +[125663, 344, 1, 21], +[125854, 344, 7, 30], +[125987, 344, 12, 10], +[126079, 345, 3, 12], +[126241, 345, 8, 21], +[126386, 346, 1, 13], +[126528, 346, 6, 4], +[126701, 346, 11, 24], +[126878, 347, 5, 20], +[126990, 347, 9, 9], +[127151, 348, 2, 17], +[127292, 348, 7, 7], +[127376, 348, 9, 29], +[127451, 348, 12, 13], +[127507, 349, 2, 7], +[127661, 349, 7, 11], +[127737, 349, 9, 25], +[127787, 349, 11, 14], +[127874, 350, 2, 9], +[128042, 350, 7, 27], +[128140, 350, 11, 2], +[128327, 351, 5, 8], +[128362, 351, 6, 12], +[128537, 351, 12, 4], +[128613, 352, 2, 18], +[128623, 352, 2, 28], +[128694, 352, 5, 9], +[128799, 352, 8, 22], +[128895, 352, 11, 26], +[129061, 353, 5, 11], +[129067, 353, 5, 17], +[129208, 353, 10, 5], +[129403, 354, 4, 18], +[129524, 354, 8, 17], +[129719, 355, 2, 28], +[129809, 355, 5, 29], +[129849, 355, 7, 8], +[129985, 355, 11, 21], +[130177, 356, 5, 31], +[130363, 356, 12, 3], +[130558, 357, 6, 16], +[130666, 357, 10, 2], +[130782, 358, 1, 26], +[130833, 358, 3, 18], +[130861, 358, 4, 15], +[131027, 358, 9, 28], +[131159, 359, 2, 7], +[131340, 359, 8, 7], +[131380, 359, 9, 16], +[131548, 360, 3, 2], +[131655, 360, 6, 17], +[131776, 360, 10, 16], +[131825, 360, 12, 4], +[131883, 361, 1, 31], +[132061, 361, 7, 28], +[132186, 361, 11, 30], +[132201, 361, 12, 15], +[132295, 362, 3, 19], +[132337, 362, 4, 30], +[132481, 362, 9, 21], +[132504, 362, 10, 14], +[132639, 363, 2, 26], +[132747, 363, 6, 14], +[132784, 363, 7, 21], +[132933, 363, 12, 17], +[132962, 364, 1, 15], +[133090, 364, 5, 22], +[133119, 364, 6, 20], +[133197, 364, 9, 6], +[133292, 364, 12, 10], +[133409, 365, 4, 6], +[133453, 365, 5, 20], +[133571, 365, 9, 15], +[133679, 366, 1, 1], +[133720, 366, 2, 11], +[133914, 366, 8, 24], +[133964, 366, 10, 13], +[134091, 367, 2, 17], +[134286, 367, 8, 31], +[134424, 368, 1, 16], +[134527, 368, 4, 28], +[134553, 368, 5, 24], +[134709, 368, 10, 27], +[134798, 369, 1, 24], +[134885, 369, 4, 21], +[134904, 369, 5, 10], +[134927, 369, 6, 2], +[134994, 369, 8, 8], +[135098, 369, 11, 20], +[135172, 370, 2, 2], +[135220, 370, 3, 22], +[135353, 370, 8, 2], +[135467, 370, 11, 24], +[135665, 371, 6, 10], +[135811, 371, 11, 3], +[135934, 372, 3, 5], +[136045, 372, 6, 24], +[136061, 372, 7, 10], +[136106, 372, 8, 24], +[136163, 372, 10, 20], +[136202, 372, 11, 28], +[136297, 373, 3, 3], +[136317, 373, 3, 23], +[136509, 373, 10, 1], +[136552, 373, 11, 13], +[136671, 374, 3, 12], +[136809, 374, 7, 28], +[137003, 375, 2, 7], +[137163, 375, 7, 17], +[137259, 375, 10, 21], +[137345, 376, 1, 15], +[137418, 376, 3, 28], +[137484, 376, 6, 2], +[137627, 376, 10, 23], +[137664, 376, 11, 29], +[137795, 377, 4, 9], +[137834, 377, 5, 18], +[137906, 377, 7, 29], +[137983, 377, 10, 14], +[138110, 378, 2, 18], +[138265, 378, 7, 23], +[138332, 378, 9, 28], +[138377, 378, 11, 12], +[138382, 378, 11, 17], +[138580, 379, 6, 3], +[138774, 379, 12, 14], +[138938, 380, 5, 26], +[138947, 380, 6, 4], +[138997, 380, 7, 24], +[139176, 381, 1, 19], +[139234, 381, 3, 18], +[139321, 381, 6, 13], +[139521, 381, 12, 30], +[139708, 382, 7, 5], +[139828, 382, 11, 2], +[139908, 383, 1, 21], +[139960, 383, 3, 14], +[139997, 383, 4, 20], +[140028, 383, 5, 21], +[140046, 383, 6, 8], +[140233, 383, 12, 12], +[140257, 384, 1, 5], +[140282, 384, 1, 30], +[140463, 384, 7, 29], +[140464, 384, 7, 30], +[140604, 384, 12, 17], +[140738, 385, 4, 30], +[140773, 385, 6, 4], +[140835, 385, 8, 5], +[140850, 385, 8, 20], +[141042, 386, 2, 28], +[141183, 386, 7, 19], +[141260, 386, 10, 4], +[141324, 386, 12, 7], +[141333, 386, 12, 16], +[141448, 387, 4, 10], +[141639, 387, 10, 18], +[141767, 388, 2, 23], +[141781, 388, 3, 8], +[141826, 388, 4, 22], +[141951, 388, 8, 25], +[142005, 388, 10, 18], +[142068, 388, 12, 20], +[142186, 389, 4, 17], +[142195, 389, 4, 26], +[142380, 389, 10, 28], +[142479, 390, 2, 4], +[142484, 390, 2, 9], +[142660, 390, 8, 4], +[142838, 391, 1, 29], +[142926, 391, 4, 27], +[142994, 391, 7, 4], +[142996, 391, 7, 6], +[143058, 391, 9, 6], +[143123, 391, 11, 10], +[143152, 391, 12, 9], +[143320, 392, 5, 25], +[143507, 392, 11, 28], +[143547, 393, 1, 7], +[143726, 393, 7, 5], +[143744, 393, 7, 23], +[143817, 393, 10, 4], +[143921, 394, 1, 16], +[144046, 394, 5, 21], +[144077, 394, 6, 21], +[144166, 394, 9, 18], +[144190, 394, 10, 12], +[144245, 394, 12, 6], +[144309, 395, 2, 8], +[144488, 395, 8, 6], +[144610, 395, 12, 6], +[144630, 395, 12, 26], +[144690, 396, 2, 24], +[144820, 396, 7, 3], +[144871, 396, 8, 23], +[144961, 396, 11, 21], +[144995, 396, 12, 25], +[145093, 397, 4, 2], +[145165, 397, 6, 13], +[145286, 397, 10, 12], +[145393, 398, 1, 27], +[145540, 398, 6, 23], +[145700, 398, 11, 30], +[145795, 399, 3, 5], +[145808, 399, 3, 18], +[145913, 399, 7, 1], +[145983, 399, 9, 9], +[146105, 400, 1, 9], +[146118, 400, 1, 22], +[146307, 400, 7, 29], +[146418, 400, 11, 17], +[146453, 400, 12, 22], +[146628, 401, 6, 15], +[146824, 401, 12, 28], +[146907, 402, 3, 21], +[147037, 402, 7, 29], +[147106, 402, 10, 6], +[147130, 402, 10, 30], +[147199, 403, 1, 7], +[147209, 403, 1, 17], +[147404, 403, 7, 31], +[147585, 404, 1, 28], +[147697, 404, 5, 19], +[147812, 404, 9, 11], +[147817, 404, 9, 16], +[147962, 405, 2, 8], +[148019, 405, 4, 6], +[148136, 405, 8, 1], +[148159, 405, 8, 24], +[148297, 406, 1, 9], +[148371, 406, 3, 24], +[148447, 406, 6, 8], +[148580, 406, 10, 19], +[148747, 407, 4, 4], +[148938, 407, 10, 12], +[149061, 408, 2, 12], +[149227, 408, 7, 27], +[149371, 408, 12, 18], +[149452, 409, 3, 9], +[149521, 409, 5, 17], +[149621, 409, 8, 25], +[149686, 409, 10, 29], +[149749, 409, 12, 31], +[149823, 410, 3, 15], +[149877, 410, 5, 8], +[149944, 410, 7, 14], +[150134, 411, 1, 20], +[150318, 411, 7, 23], +[150380, 411, 9, 23], +[150525, 412, 2, 15], +[150716, 412, 8, 24], +[150741, 412, 9, 18], +[150819, 412, 12, 5], +[150884, 413, 2, 8], +[151017, 413, 6, 21], +[151030, 413, 7, 4], +[151183, 413, 12, 4], +[151280, 414, 3, 11], +[151374, 414, 6, 13], +[151393, 414, 7, 2], +[151506, 414, 10, 23], +[151601, 415, 1, 26], +[151746, 415, 6, 20], +[151767, 415, 7, 11], +[151853, 415, 10, 5], +[151958, 416, 1, 18], +[152090, 416, 5, 29], +[152149, 416, 7, 27], +[152219, 416, 10, 5], +[152370, 417, 3, 5], +[152555, 417, 9, 6], +[152670, 417, 12, 30], +[152695, 418, 1, 24], +[152760, 418, 3, 30], +[152802, 418, 5, 11], +[153002, 418, 11, 27], +[153200, 419, 6, 13], +[153380, 419, 12, 10], +[153567, 420, 6, 14], +[153680, 420, 10, 5], +[153782, 421, 1, 15], +[153814, 421, 2, 16], +[153924, 421, 6, 6], +[153964, 421, 7, 16], +[154100, 421, 11, 29], +[154109, 421, 12, 8], +[154258, 422, 5, 6], +[154307, 422, 6, 24], +[154382, 422, 9, 7], +[154412, 422, 10, 7], +[154612, 423, 4, 25], +[154737, 423, 8, 28], +[154904, 424, 2, 11], +[155052, 424, 7, 8], +[155106, 424, 8, 31], +[155255, 425, 1, 27], +[155362, 425, 5, 14], +[155471, 425, 8, 31], +[155506, 425, 10, 5], +[155535, 425, 11, 3], +[155717, 426, 5, 4], +[155746, 426, 6, 2], +[155776, 426, 7, 2], +[155961, 427, 1, 3], +[155986, 427, 1, 28], +[155996, 427, 2, 7], +[156146, 427, 7, 7], +[156280, 427, 11, 18], +[156446, 428, 5, 2], +[156535, 428, 7, 30], +[156669, 428, 12, 11], +[156734, 429, 2, 14], +[156747, 429, 2, 27], +[156857, 429, 6, 17], +[157014, 429, 11, 21], +[157169, 430, 4, 25], +[157183, 430, 5, 9], +[157380, 430, 11, 22], +[157531, 431, 4, 22], +[157680, 431, 9, 18], +[157805, 432, 1, 21], +[157894, 432, 4, 19], +[157916, 432, 5, 11], +[158081, 432, 10, 23], +[158137, 432, 12, 18], +[158263, 433, 4, 23], +[158385, 433, 8, 23], +[158443, 433, 10, 20], +[158606, 434, 4, 1], +[158739, 434, 8, 12], +[158892, 435, 1, 12], +[159012, 435, 5, 12], +[159142, 435, 9, 19], +[159274, 436, 1, 29], +[159384, 436, 5, 18], +[159385, 436, 5, 19], +[159583, 436, 12, 3], +[159697, 437, 3, 27], +[159844, 437, 8, 21], +[160005, 438, 1, 29], +[160083, 438, 4, 17], +[160096, 438, 4, 30], +[160221, 438, 9, 2], +[160362, 439, 1, 21], +[160488, 439, 5, 27], +[160506, 439, 6, 14], +[160589, 439, 9, 5], +[160774, 440, 3, 8], +[160812, 440, 4, 15], +[160931, 440, 8, 12], +[161086, 441, 1, 14], +[161277, 441, 7, 24], +[161334, 441, 9, 19], +[161493, 442, 2, 25], +[161574, 442, 5, 17], +[161701, 442, 9, 21], +[161836, 443, 2, 3], +[162014, 443, 7, 31], +[162031, 443, 8, 17], +[162205, 444, 2, 7], +[162370, 444, 7, 21], +[162375, 444, 7, 26], +[162432, 444, 9, 21], +[162513, 444, 12, 11], +[162552, 445, 1, 19], +[162579, 445, 2, 15], +[162633, 445, 4, 10], +[162636, 445, 4, 13], +[162688, 445, 6, 4], +[162874, 445, 12, 7], +[162909, 446, 1, 11], +[162967, 446, 3, 10], +[162999, 446, 4, 11], +[163056, 446, 6, 7], +[163253, 446, 12, 21], +[163392, 447, 5, 9], +[163490, 447, 8, 15], +[163614, 447, 12, 17], +[163782, 448, 6, 2], +[163956, 448, 11, 23], +[164091, 449, 4, 7], +[164272, 449, 10, 5], +[164426, 450, 3, 8], +[164472, 450, 4, 23], +[164488, 450, 5, 9], +[164536, 450, 6, 26], +[164723, 450, 12, 30], +[164863, 451, 5, 19], +[164915, 451, 7, 10], +[164920, 451, 7, 15], +[164937, 451, 8, 1], +[165090, 452, 1, 1], +[165113, 452, 1, 24], +[165123, 452, 2, 3], +[165130, 452, 2, 10], +[165157, 452, 3, 8], +[165194, 452, 4, 14], +[165273, 452, 7, 2], +[165440, 452, 12, 16], +[165634, 453, 6, 28], +[165790, 453, 12, 1], +[165828, 454, 1, 8], +[166008, 454, 7, 7], +[166175, 454, 12, 21], +[166320, 455, 5, 15], +[166455, 455, 9, 27], +[166640, 456, 3, 30], +[166801, 456, 9, 7], +[166877, 456, 11, 22], +[167018, 457, 4, 12], +[167191, 457, 10, 2], +[167369, 458, 3, 29], +[167473, 458, 7, 11], +[167558, 458, 10, 4], +[167684, 459, 2, 7], +[167741, 459, 4, 5], +[167854, 459, 7, 27], +[167906, 459, 9, 17], +[168002, 459, 12, 22], +[168149, 460, 5, 17], +[168267, 460, 9, 12], +[168433, 461, 2, 25], +[168469, 461, 4, 2], +[168658, 461, 10, 8], +[168805, 462, 3, 4], +[168939, 462, 7, 16], +[169003, 462, 9, 18], +[169104, 462, 12, 28], +[169164, 463, 2, 26], +[169196, 463, 3, 30], +[169229, 463, 5, 2], +[169341, 463, 8, 22], +[169362, 463, 9, 12], +[169372, 463, 9, 22], +[169382, 463, 10, 2], +[169483, 464, 1, 11], +[169660, 464, 7, 6], +[169837, 464, 12, 30], +[169937, 465, 4, 9], +[170074, 465, 8, 24], +[170180, 465, 12, 8], +[170334, 466, 5, 11], +[170490, 466, 10, 14], +[170645, 467, 3, 18], +[170829, 467, 9, 18], +[171022, 468, 3, 29], +[171059, 468, 5, 5], +[171150, 468, 8, 4], +[171202, 468, 9, 25], +[171208, 468, 10, 1], +[171347, 469, 2, 17], +[171351, 469, 2, 21], +[171419, 469, 4, 30], +[171433, 469, 5, 14], +[171553, 469, 9, 11], +[171559, 469, 9, 17], +[171562, 469, 9, 20], +[171678, 470, 1, 14], +[171798, 470, 5, 14], +[171967, 470, 10, 30], +[172141, 471, 4, 22], +[172266, 471, 8, 25], +[172386, 471, 12, 23], +[172462, 472, 3, 8], +[172600, 472, 7, 24], +[172789, 473, 1, 29], +[172870, 473, 4, 20], +[172911, 473, 5, 31], +[172972, 473, 7, 31], +[173098, 473, 12, 4], +[173258, 474, 5, 13], +[173360, 474, 8, 23], +[173486, 474, 12, 27], +[173610, 475, 4, 30], +[173687, 475, 7, 16], +[173828, 475, 12, 4], +[174024, 476, 6, 17], +[174047, 476, 7, 10], +[174064, 476, 7, 27], +[174169, 476, 11, 9], +[174214, 476, 12, 24], +[174400, 477, 6, 28], +[174437, 477, 8, 4], +[174483, 477, 9, 19], +[174613, 478, 1, 27], +[174634, 478, 2, 17], +[174816, 478, 8, 18], +[174881, 478, 10, 22], +[175045, 479, 4, 4], +[175221, 479, 9, 27], +[175252, 479, 10, 28], +[175445, 480, 5, 8], +[175517, 480, 7, 19], +[175683, 481, 1, 1], +[175780, 481, 4, 8], +[175962, 481, 10, 7], +[176002, 481, 11, 16], +[176087, 482, 2, 9], +[176146, 482, 4, 9], +[176285, 482, 8, 26], +[176481, 483, 3, 10], +[176607, 483, 7, 14], +[176636, 483, 8, 12], +[176785, 484, 1, 8], +[176880, 484, 4, 12], +[177013, 484, 8, 23], +[177210, 485, 3, 8], +[177308, 485, 6, 14], +[177504, 485, 12, 27], +[177515, 486, 1, 7], +[177562, 486, 2, 23], +[177598, 486, 3, 31], +[177723, 486, 8, 3], +[177809, 486, 10, 28], +[177961, 487, 3, 29], +[178083, 487, 7, 29], +[178241, 488, 1, 3], +[178349, 488, 4, 20], +[178387, 488, 5, 28], +[178520, 488, 10, 8], +[178591, 488, 12, 18], +[178791, 489, 7, 6], +[178857, 489, 9, 10], +[179018, 490, 2, 18], +[179113, 490, 5, 24], +[179149, 490, 6, 29], +[179163, 490, 7, 13], +[179253, 490, 10, 11], +[179390, 491, 2, 25], +[179537, 491, 7, 22], +[179716, 492, 1, 17], +[179896, 492, 7, 15], +[180079, 493, 1, 14], +[180257, 493, 7, 11], +[180358, 493, 10, 20], +[180363, 493, 10, 25], +[180509, 494, 3, 20], +[180564, 494, 5, 14], +[180753, 494, 11, 19], +[180854, 495, 2, 28], +[180965, 495, 6, 19], +[181131, 495, 12, 2], +[181264, 496, 4, 13], +[181356, 496, 7, 14], +[181469, 496, 11, 4], +[181516, 496, 12, 21], +[181570, 497, 2, 13], +[181674, 497, 5, 28], +[181761, 497, 8, 23], +[181846, 497, 11, 16], +[181905, 498, 1, 14], +[182076, 498, 7, 4], +[182185, 498, 10, 21], +[182248, 498, 12, 23], +[182313, 499, 2, 26], +[182320, 499, 3, 5], +[182496, 499, 8, 28], +[182566, 499, 11, 6], +[182745, 500, 5, 4], +[182900, 500, 10, 6], +[182914, 500, 10, 20], +[182978, 500, 12, 23], +[183149, 501, 6, 12], +[183332, 501, 12, 12], +[183482, 502, 5, 11], +[183616, 502, 9, 22], +[183793, 503, 3, 18], +[183873, 503, 6, 6], +[184014, 503, 10, 25], +[184108, 504, 1, 27], +[184250, 504, 6, 17], +[184288, 504, 7, 25], +[184411, 504, 11, 25], +[184611, 505, 6, 13], +[184737, 505, 10, 17], +[184928, 506, 4, 26], +[185097, 506, 10, 12], +[185267, 507, 3, 31], +[185323, 507, 5, 26], +[185356, 507, 6, 28], +[185539, 507, 12, 28], +[185652, 508, 4, 19], +[185781, 508, 8, 26], +[185911, 509, 1, 3], +[186005, 509, 4, 7], +[186177, 509, 9, 26], +[186256, 509, 12, 14], +[186447, 510, 6, 23], +[186563, 510, 10, 17], +[186593, 510, 11, 16], +[186729, 511, 4, 1], +[186757, 511, 4, 29], +[186913, 511, 10, 2], +[187047, 512, 2, 13], +[187184, 512, 6, 29], +[187353, 512, 12, 15], +[187460, 513, 4, 1], +[187501, 513, 5, 12], +[187610, 513, 8, 29], +[187759, 514, 1, 25], +[187911, 514, 6, 26], +[187944, 514, 7, 29], +[187960, 514, 8, 14], +[188019, 514, 10, 12], +[188080, 514, 12, 12], +[188130, 515, 1, 31], +[188153, 515, 2, 23], +[188248, 515, 5, 29], +[188439, 515, 12, 6], +[188522, 516, 2, 27], +[188528, 516, 3, 4], +[188636, 516, 6, 20], +[188694, 516, 8, 17], +[188713, 516, 9, 5], +[188899, 517, 3, 10], +[188952, 517, 5, 2], +[188957, 517, 5, 7], +[188996, 517, 6, 15], +[189106, 517, 10, 3], +[189225, 518, 1, 30], +[189284, 518, 3, 30], +[189330, 518, 5, 15], +[189402, 518, 7, 26], +[189433, 518, 8, 26], +[189625, 519, 3, 6], +[189721, 519, 6, 10], +[189847, 519, 10, 14], +[190026, 520, 4, 10], +[190091, 520, 6, 14], +[190213, 520, 10, 14], +[190318, 521, 1, 27], +[190362, 521, 3, 12], +[190545, 521, 9, 11], +[190581, 521, 10, 17], +[190690, 522, 2, 3], +[190842, 522, 7, 5], +[190889, 522, 8, 21], +[191086, 523, 3, 6], +[191206, 523, 7, 4], +[191207, 523, 7, 5], +[191283, 523, 9, 19], +[191329, 523, 11, 4], +[191404, 524, 1, 18], +[191479, 524, 4, 2], +[191624, 524, 8, 25], +[191800, 525, 2, 17], +[191842, 525, 3, 31], +[191985, 525, 8, 21], +[192184, 526, 3, 8], +[192197, 526, 3, 21], +[192371, 526, 9, 11], +[192567, 527, 3, 26], +[192707, 527, 8, 13], +[192773, 527, 10, 18], +[192935, 528, 3, 28], +[193080, 528, 8, 20], +[193093, 528, 9, 2], +[193216, 529, 1, 3], +[193385, 529, 6, 21], +[193573, 529, 12, 26], +[193722, 530, 5, 24], +[193751, 530, 6, 22], +[193880, 530, 10, 29], +[194063, 531, 4, 30], +[194110, 531, 6, 16], +[194174, 531, 8, 19], +[194280, 531, 12, 3], +[194461, 532, 6, 1], +[194574, 532, 9, 22], +[194670, 532, 12, 27], +[194737, 533, 3, 4], +[194853, 533, 6, 28], +[194875, 533, 7, 20], +[194911, 533, 8, 25], +[194978, 533, 10, 31], +[195036, 533, 12, 28], +[195098, 534, 2, 28], +[195112, 534, 3, 14], +[195242, 534, 7, 22], +[195296, 534, 9, 14], +[195365, 534, 11, 22], +[195434, 535, 1, 30], +[195521, 535, 4, 27], +[195544, 535, 5, 20], +[195601, 535, 7, 16], +[195699, 535, 10, 22], +[195721, 535, 11, 13], +[195750, 535, 12, 12], +[195785, 536, 1, 16], +[195853, 536, 3, 24], +[195994, 536, 8, 12], +[196176, 537, 2, 10], +[196294, 537, 6, 8], +[196435, 537, 10, 27], +[196620, 538, 4, 30], +[196759, 538, 9, 16], +[196774, 538, 10, 1], +[196969, 539, 4, 14], +[197036, 539, 6, 20], +[197165, 539, 10, 27], +[197263, 540, 2, 2], +[197421, 540, 7, 9], +[197527, 540, 10, 23], +[197623, 541, 1, 27], +[197750, 541, 6, 3], +[197767, 541, 6, 20], +[197786, 541, 7, 9], +[197986, 542, 1, 25], +[198133, 542, 6, 21], +[198281, 542, 11, 16], +[198449, 543, 5, 3], +[198543, 543, 8, 5], +[198599, 543, 9, 30], +[198643, 543, 11, 13], +[198791, 544, 4, 9], +[198906, 544, 8, 2], +[198957, 544, 9, 22], +[198978, 544, 10, 13], +[198995, 544, 10, 30], +[199049, 544, 12, 23], +[199082, 545, 1, 25], +[199170, 545, 4, 23], +[199307, 545, 9, 7], +[199485, 546, 3, 4], +[199512, 546, 3, 31], +[199608, 546, 7, 5], +[199748, 546, 11, 22], +[199775, 546, 12, 19], +[199848, 547, 3, 2], +[199896, 547, 4, 19], +[199969, 547, 7, 1], +[200087, 547, 10, 27], +[200201, 548, 2, 18], +[200291, 548, 5, 18], +[200425, 548, 9, 29], +[200547, 549, 1, 29], +[200601, 549, 3, 24], +[200748, 549, 8, 18], +[200776, 549, 9, 15], +[200809, 549, 10, 18], +[200837, 549, 11, 15], +[201017, 550, 5, 14], +[201023, 550, 5, 20], +[201187, 550, 10, 31], +[201277, 551, 1, 29], +[201433, 551, 7, 4], +[201526, 551, 10, 5], +[201541, 551, 10, 20], +[201658, 552, 2, 14], +[201830, 552, 8, 4], +[201986, 553, 1, 7], +[202156, 553, 6, 26], +[202352, 554, 1, 8], +[202530, 554, 7, 5], +[202550, 554, 7, 25], +[202601, 554, 9, 14], +[202662, 554, 11, 14], +[202736, 555, 1, 27], +[202898, 555, 7, 8], +[202909, 555, 7, 19], +[202989, 555, 10, 7], +[203162, 556, 3, 28], +[203204, 556, 5, 9], +[203226, 556, 5, 31], +[203346, 556, 9, 28], +[203431, 556, 12, 22], +[203594, 557, 6, 3], +[203615, 557, 6, 24], +[203803, 557, 12, 29], +[203857, 558, 2, 21], +[204012, 558, 7, 26], +[204032, 558, 8, 15], +[204107, 558, 10, 29], +[204153, 558, 12, 14], +[204236, 559, 3, 7], +[204241, 559, 3, 12], +[204367, 559, 7, 16], +[204502, 559, 11, 28], +[204503, 559, 11, 29], +[204654, 560, 4, 28], +[204813, 560, 10, 4], +[204874, 560, 12, 4], +[204913, 561, 1, 12], +[204927, 561, 1, 26], +[205101, 561, 7, 19], +[205266, 561, 12, 31], +[205283, 562, 1, 17], +[205404, 562, 5, 18], +[205550, 562, 10, 11], +[205611, 562, 12, 11], +[205795, 563, 6, 13], +[205863, 563, 8, 20], +[205884, 563, 9, 10], +[205930, 563, 10, 26], +[205936, 563, 11, 1], +[206066, 564, 3, 10], +[206205, 564, 7, 27], +[206222, 564, 8, 13], +[206277, 564, 10, 7], +[206350, 564, 12, 19], +[206521, 565, 6, 8], +[206709, 565, 12, 13], +[206898, 566, 6, 20], +[207062, 566, 12, 1], +[207092, 566, 12, 31], +[207147, 567, 2, 24], +[207197, 567, 4, 15], +[207204, 567, 4, 22], +[207355, 567, 9, 20], +[207413, 567, 11, 17], +[207515, 568, 2, 27], +[207517, 568, 2, 29], +[207674, 568, 8, 4], +[207806, 568, 12, 14], +[207846, 569, 1, 23], +[207943, 569, 4, 30], +[207975, 569, 6, 1], +[208151, 569, 11, 24], +[208233, 570, 2, 14], +[208261, 570, 3, 14], +[208360, 570, 6, 21], +[208482, 570, 10, 21], +[208496, 570, 11, 4], +[208624, 571, 3, 12], +[208771, 571, 8, 6], +[208901, 571, 12, 14], +[208926, 572, 1, 8], +[208985, 572, 3, 7], +[209172, 572, 9, 10], +[209211, 572, 10, 19], +[209396, 573, 4, 22], +[209580, 573, 10, 23], +[209680, 574, 1, 31], +[209751, 574, 4, 12], +[209884, 574, 8, 23], +[210029, 575, 1, 15], +[210150, 575, 5, 16], +[210173, 575, 6, 8], +[210182, 575, 6, 17], +[210291, 575, 10, 4], +[210337, 575, 11, 19], +[210469, 576, 3, 30], +[210637, 576, 9, 14], +[210696, 576, 11, 12], +[210878, 577, 5, 13], +[210881, 577, 5, 16], +[210950, 577, 7, 24], +[210975, 577, 8, 18], +[211030, 577, 10, 12], +[211061, 577, 11, 12], +[211256, 578, 5, 26], +[211318, 578, 7, 27], +[211369, 578, 9, 16], +[211542, 579, 3, 8], +[211590, 579, 4, 25], +[211732, 579, 9, 14], +[211758, 579, 10, 10], +[211843, 580, 1, 3], +[211992, 580, 5, 31], +[212100, 580, 9, 16], +[212155, 580, 11, 10], +[212203, 580, 12, 28], +[212397, 581, 7, 10], +[212438, 581, 8, 20], +[212562, 581, 12, 22], +[212611, 582, 2, 9], +[212715, 582, 5, 24], +[212765, 582, 7, 13], +[212828, 582, 9, 14], +[212880, 582, 11, 5], +[212894, 582, 11, 19], +[213041, 583, 4, 15], +[213047, 583, 4, 21], +[213082, 583, 5, 26], +[213126, 583, 7, 9], +[213164, 583, 8, 16], +[213174, 583, 8, 26], +[213372, 584, 3, 11], +[213537, 584, 8, 23], +[213737, 585, 3, 11], +[213848, 585, 6, 30], +[214033, 586, 1, 1], +[214115, 586, 3, 24], +[214118, 586, 3, 27], +[214158, 586, 5, 6], +[214202, 586, 6, 19], +[214285, 586, 9, 10], +[214324, 586, 10, 19], +[214360, 586, 11, 24], +[214474, 587, 3, 18], +[214552, 587, 6, 4], +[214750, 587, 12, 19], +[214877, 588, 4, 24], +[215036, 588, 9, 30], +[215082, 588, 11, 15], +[215229, 589, 4, 11], +[215241, 589, 4, 23], +[215433, 589, 11, 1], +[215454, 589, 11, 22], +[215499, 590, 1, 6], +[215625, 590, 5, 12], +[215744, 590, 9, 8], +[215815, 590, 11, 18], +[215979, 591, 5, 1], +[216083, 591, 8, 13], +[216252, 592, 1, 29], +[216316, 592, 4, 2], +[216358, 592, 5, 14], +[216491, 592, 9, 24], +[216568, 592, 12, 10], +[216702, 593, 4, 23], +[216847, 593, 9, 15], +[216858, 593, 9, 26], +[216884, 593, 10, 22], +[217064, 594, 4, 20], +[217104, 594, 5, 30], +[217220, 594, 9, 23], +[217299, 594, 12, 11], +[217491, 595, 6, 21], +[217498, 595, 6, 28], +[217502, 595, 7, 2], +[217657, 595, 12, 4], +[217825, 596, 5, 20], +[218012, 596, 11, 23], +[218157, 597, 4, 17], +[218199, 597, 5, 29], +[218366, 597, 11, 12], +[218405, 597, 12, 21], +[218439, 598, 1, 24], +[218474, 598, 2, 28], +[218514, 598, 4, 9], +[218538, 598, 5, 3], +[218603, 598, 7, 7], +[218625, 598, 7, 29], +[218711, 598, 10, 23], +[218803, 599, 1, 23], +[218871, 599, 4, 1], +[219071, 599, 10, 18], +[219207, 600, 3, 3], +[219243, 600, 4, 8], +[219356, 600, 7, 30], +[219379, 600, 8, 22], +[219476, 600, 11, 27], +[219493, 600, 12, 14], +[219675, 601, 6, 14], +[219844, 601, 11, 30], +[220040, 602, 6, 14], +[220136, 602, 9, 18], +[220158, 602, 10, 10], +[220296, 603, 2, 25], +[220450, 603, 7, 29], +[220506, 603, 9, 23], +[220530, 603, 10, 17], +[220633, 604, 1, 28], +[220638, 604, 2, 2], +[220715, 604, 4, 19], +[220808, 604, 7, 21], +[220820, 604, 8, 2], +[220860, 604, 9, 11], +[220891, 604, 10, 12], +[221030, 605, 2, 28], +[221145, 605, 6, 23], +[221339, 606, 1, 3], +[221366, 606, 1, 30], +[221478, 606, 5, 22], +[221612, 606, 10, 3], +[221726, 607, 1, 25], +[221876, 607, 6, 24], +[222020, 607, 11, 15], +[222091, 608, 1, 25], +[222167, 608, 4, 10], +[222224, 608, 6, 6], +[222380, 608, 11, 9], +[222484, 609, 2, 21], +[222644, 609, 7, 31], +[222802, 610, 1, 5], +[222883, 610, 3, 27], +[223045, 610, 9, 5], +[223120, 610, 11, 19], +[223171, 611, 1, 9], +[223228, 611, 3, 7], +[223324, 611, 6, 11], +[223362, 611, 7, 19], +[223427, 611, 9, 22], +[223444, 611, 10, 9], +[223619, 612, 4, 1], +[223637, 612, 4, 19], +[223672, 612, 5, 24], +[223720, 612, 7, 11], +[223876, 612, 12, 14], +[223943, 613, 2, 19], +[223975, 613, 3, 23], +[224077, 613, 7, 3], +[224248, 613, 12, 21], +[224427, 614, 6, 18], +[224615, 614, 12, 23], +[224797, 615, 6, 23], +[224841, 615, 8, 6], +[224890, 615, 9, 24], +[225053, 616, 3, 5], +[225242, 616, 9, 10], +[225273, 616, 10, 11], +[225299, 616, 11, 6], +[225409, 617, 2, 24], +[225557, 617, 7, 22], +[225590, 617, 8, 24], +[225625, 617, 9, 28], +[225666, 617, 11, 8], +[225825, 618, 4, 16], +[225859, 618, 5, 20], +[225973, 618, 9, 11], +[226097, 619, 1, 13], +[226216, 619, 5, 12], +[226380, 619, 10, 23], +[226473, 620, 1, 24], +[226506, 620, 2, 26], +[226562, 620, 4, 22], +[226577, 620, 5, 7], +[226663, 620, 8, 1], +[226859, 621, 2, 13], +[226959, 621, 5, 24], +[227154, 621, 12, 5], +[227183, 622, 1, 3], +[227251, 622, 3, 12], +[227273, 622, 4, 3], +[227364, 622, 7, 3], +[227488, 622, 11, 4], +[227578, 623, 2, 2], +[227594, 623, 2, 18], +[227691, 623, 5, 26], +[227705, 623, 6, 9], +[227813, 623, 9, 25], +[227957, 624, 2, 16], +[228052, 624, 5, 21], +[228125, 624, 8, 2], +[228226, 624, 11, 11], +[228231, 624, 11, 16], +[228384, 625, 4, 18], +[228532, 625, 9, 13], +[228715, 626, 3, 15], +[228898, 626, 9, 14], +[229047, 627, 2, 10], +[229153, 627, 5, 27], +[229284, 627, 10, 5], +[229432, 628, 3, 1], +[229559, 628, 7, 6], +[229742, 629, 1, 5], +[229930, 629, 7, 12], +[230041, 629, 10, 31], +[230074, 629, 12, 3], +[230163, 630, 3, 2], +[230299, 630, 7, 16], +[230394, 630, 10, 19], +[230590, 631, 5, 3], +[230693, 631, 8, 14], +[230736, 631, 9, 26], +[230908, 632, 3, 16], +[231021, 632, 7, 7], +[231141, 632, 11, 4], +[231178, 632, 12, 11], +[231312, 633, 4, 24], +[231330, 633, 5, 12], +[231349, 633, 5, 31], +[231536, 633, 12, 4], +[231672, 634, 4, 19], +[231813, 634, 9, 7], +[231980, 635, 2, 21], +[232112, 635, 7, 3], +[232119, 635, 7, 10], +[232130, 635, 7, 21], +[232175, 635, 9, 4], +[232320, 636, 1, 27], +[232334, 636, 2, 10], +[232338, 636, 2, 14], +[232518, 636, 8, 12], +[232567, 636, 9, 30], +[232656, 636, 12, 28], +[232798, 637, 5, 19], +[232906, 637, 9, 4], +[233081, 638, 2, 26], +[233211, 638, 7, 6], +[233391, 639, 1, 2], +[233542, 639, 6, 2], +[233639, 639, 9, 7], +[233815, 640, 3, 1], +[233941, 640, 7, 5], +[234130, 641, 1, 10], +[234214, 641, 4, 4], +[234249, 641, 5, 9], +[234270, 641, 5, 30], +[234291, 641, 6, 20], +[234455, 641, 12, 1], +[234504, 642, 1, 19], +[234536, 642, 2, 20], +[234674, 642, 7, 8], +[234852, 643, 1, 2], +[234955, 643, 4, 15], +[235132, 643, 10, 9], +[235206, 643, 12, 22], +[235302, 644, 3, 27], +[235479, 644, 9, 20], +[235563, 644, 12, 13], +[235584, 645, 1, 3], +[235760, 645, 6, 28], +[235781, 645, 7, 19], +[235891, 645, 11, 6], +[235900, 645, 11, 15], +[236028, 646, 3, 23], +[236050, 646, 4, 14], +[236152, 646, 7, 25], +[236275, 646, 11, 25], +[236331, 647, 1, 20], +[236373, 647, 3, 3], +[236567, 647, 9, 13], +[236596, 647, 10, 12], +[236760, 648, 3, 24], +[236829, 648, 6, 1], +[236857, 648, 6, 29], +[237048, 649, 1, 6], +[237241, 649, 7, 18], +[237304, 649, 9, 19], +[237463, 650, 2, 25], +[237615, 650, 7, 27], +[237768, 650, 12, 27], +[237889, 651, 4, 27], +[237977, 651, 7, 24], +[238082, 651, 11, 6], +[238153, 652, 1, 16], +[238295, 652, 6, 6], +[238338, 652, 7, 19], +[238535, 653, 2, 1], +[238578, 653, 3, 16], +[238673, 653, 6, 19], +[238694, 653, 7, 10], +[238784, 653, 10, 8], +[238915, 654, 2, 16], +[239102, 654, 8, 22], +[239157, 654, 10, 16], +[239338, 655, 4, 15], +[239425, 655, 7, 11], +[239604, 656, 1, 6], +[239768, 656, 6, 18], +[239776, 656, 6, 26], +[239888, 656, 10, 16], +[239890, 656, 10, 18], +[240084, 657, 4, 30], +[240220, 657, 9, 13], +[240375, 658, 2, 15], +[240379, 658, 2, 19], +[240473, 658, 5, 24], +[240562, 658, 8, 21], +[240591, 658, 9, 19], +[240638, 658, 11, 5], +[240803, 659, 4, 19], +[240891, 659, 7, 16], +[241060, 660, 1, 1], +[241100, 660, 2, 10], +[241199, 660, 5, 19], +[241366, 660, 11, 2], +[241510, 661, 3, 26], +[241563, 661, 5, 18], +[241663, 661, 8, 26], +[241784, 661, 12, 25], +[241790, 661, 12, 31], +[241857, 662, 3, 8], +[241915, 662, 5, 5], +[242028, 662, 8, 26], +[242087, 662, 10, 24], +[242249, 663, 4, 4], +[242431, 663, 10, 3], +[242605, 664, 3, 25], +[242775, 664, 9, 11], +[242953, 665, 3, 8], +[243056, 665, 6, 19], +[243206, 665, 11, 16], +[243218, 665, 11, 28], +[243275, 666, 1, 24], +[243321, 666, 3, 11], +[243480, 666, 8, 17], +[243666, 667, 2, 19], +[243708, 667, 4, 2], +[243766, 667, 5, 30], +[243785, 667, 6, 18], +[243887, 667, 9, 28], +[243953, 667, 12, 3], +[243971, 667, 12, 21], +[243981, 667, 12, 31], +[244144, 668, 6, 11], +[244249, 668, 9, 24], +[244445, 669, 4, 8], +[244605, 669, 9, 15], +[244691, 669, 12, 10], +[244869, 670, 6, 6], +[244904, 670, 7, 11], +[245001, 670, 10, 16], +[245084, 671, 1, 7], +[245252, 671, 6, 24], +[245332, 671, 9, 12], +[245353, 671, 10, 3], +[245475, 672, 2, 2], +[245599, 672, 6, 5], +[245769, 672, 11, 22], +[245924, 673, 4, 26], +[246070, 673, 9, 19], +[246086, 673, 10, 5], +[246260, 674, 3, 28], +[246383, 674, 7, 29], +[246573, 675, 2, 4], +[246650, 675, 4, 22], +[246733, 675, 7, 14], +[246743, 675, 7, 24], +[246891, 675, 12, 19], +[246929, 676, 1, 26], +[247016, 676, 4, 22], +[247086, 676, 7, 1], +[247126, 676, 8, 10], +[247225, 676, 11, 17], +[247364, 677, 4, 5], +[247393, 677, 5, 4], +[247446, 677, 6, 26], +[247513, 677, 9, 1], +[247520, 677, 9, 8], +[247711, 678, 3, 18], +[247822, 678, 7, 7], +[247916, 678, 10, 9], +[248050, 679, 2, 20], +[248072, 679, 3, 14], +[248087, 679, 3, 29], +[248209, 679, 7, 29], +[248373, 680, 1, 9], +[248567, 680, 7, 21], +[248599, 680, 8, 22], +[248725, 680, 12, 26], +[248789, 681, 2, 28], +[248834, 681, 4, 14], +[248845, 681, 4, 25], +[248994, 681, 9, 21], +[249010, 681, 10, 7], +[249139, 682, 2, 13], +[249187, 682, 4, 2], +[249372, 682, 10, 4], +[249376, 682, 10, 8], +[249551, 683, 4, 1], +[249674, 683, 8, 2], +[249680, 683, 8, 8], +[249707, 683, 9, 4], +[249812, 683, 12, 18], +[249999, 684, 6, 22], +[250155, 684, 11, 25], +[250311, 685, 4, 30], +[250499, 685, 11, 4], +[250670, 686, 4, 24], +[250848, 686, 10, 19], +[250898, 686, 12, 8], +[250937, 687, 1, 16], +[250973, 687, 2, 21], +[251003, 687, 3, 23], +[251193, 687, 9, 29], +[251364, 688, 3, 18], +[251473, 688, 7, 5], +[251525, 688, 8, 26], +[251535, 688, 9, 5], +[251636, 688, 12, 15], +[251667, 689, 1, 15], +[251822, 689, 6, 19], +[251844, 689, 7, 11], +[251954, 689, 10, 29], +[252034, 690, 1, 17], +[252051, 690, 2, 3], +[252162, 690, 5, 25], +[252189, 690, 6, 21], +[252236, 690, 8, 7], +[252414, 691, 2, 1], +[252509, 691, 5, 7], +[252520, 691, 5, 18], +[252658, 691, 10, 3], +[252664, 691, 10, 9], +[252679, 691, 10, 24], +[252780, 692, 2, 2], +[252836, 692, 3, 29], +[252912, 692, 6, 13], +[253089, 692, 12, 7], +[253132, 693, 1, 19], +[253308, 693, 7, 14], +[253445, 693, 11, 28], +[253446, 693, 11, 29], +[253464, 693, 12, 17], +[253577, 694, 4, 9], +[253631, 694, 6, 2], +[253774, 694, 10, 23], +[253963, 695, 4, 30], +[254105, 695, 9, 19], +[254151, 695, 11, 4], +[254224, 696, 1, 16], +[254247, 696, 2, 8], +[254310, 696, 4, 11], +[254445, 696, 8, 24], +[254607, 697, 2, 2], +[254632, 697, 2, 27], +[254826, 697, 9, 9], +[254857, 697, 10, 10], +[255010, 698, 3, 12], +[255198, 698, 9, 16], +[255226, 698, 10, 14], +[255281, 698, 12, 8], +[255443, 699, 5, 19], +[255466, 699, 6, 11], +[255589, 699, 10, 12], +[255647, 699, 12, 9], +[255758, 700, 3, 30], +[255958, 700, 10, 16], +[255985, 700, 11, 12], +[256185, 701, 5, 31], +[256186, 701, 6, 1], +[256335, 701, 10, 28], +[256388, 701, 12, 20], +[256466, 702, 3, 8], +[256581, 702, 7, 1], +[256601, 702, 7, 21], +[256791, 703, 1, 27], +[256975, 703, 7, 30], +[256985, 703, 8, 9], +[257133, 704, 1, 4], +[257224, 704, 4, 4], +[257381, 704, 9, 8], +[257492, 704, 12, 28], +[257541, 705, 2, 15], +[257628, 705, 5, 13], +[257711, 705, 8, 4], +[257819, 705, 11, 20], +[257910, 706, 2, 19], +[258056, 706, 7, 15], +[258188, 706, 11, 24], +[258262, 707, 2, 6], +[258306, 707, 3, 22], +[258349, 707, 5, 4], +[258535, 707, 11, 6], +[258544, 707, 11, 15], +[258554, 707, 11, 25], +[258635, 708, 2, 14], +[258656, 708, 3, 6], +[258748, 708, 6, 6], +[258880, 708, 10, 16], +[258979, 709, 1, 23], +[259071, 709, 4, 25], +[259112, 709, 6, 5], +[259301, 709, 12, 11], +[259309, 709, 12, 19], +[259490, 710, 6, 18], +[259584, 710, 9, 20], +[259689, 711, 1, 3], +[259887, 711, 7, 20], +[259970, 711, 10, 11], +[260145, 712, 4, 3], +[260340, 712, 10, 15], +[260408, 712, 12, 22], +[260477, 713, 3, 1], +[260608, 713, 7, 10], +[260703, 713, 10, 13], +[260888, 714, 4, 16], +[260949, 714, 6, 16], +[260956, 714, 6, 23], +[261027, 714, 9, 2], +[261108, 714, 11, 22], +[261297, 715, 5, 30], +[261460, 715, 11, 9], +[261654, 716, 5, 21], +[261672, 716, 6, 8], +[261774, 716, 9, 18], +[261919, 717, 2, 10], +[262069, 717, 7, 10], +[262263, 718, 1, 20], +[262395, 718, 6, 1], +[262534, 718, 10, 18], +[262590, 718, 12, 13], +[262750, 719, 5, 22], +[262779, 719, 6, 20], +[262954, 719, 12, 12], +[263036, 720, 3, 3], +[263072, 720, 4, 8], +[263198, 720, 8, 12], +[263303, 720, 11, 25], +[263361, 721, 1, 22], +[263362, 721, 1, 23], +[263552, 721, 8, 1], +[263746, 722, 2, 11], +[263890, 722, 7, 5], +[264078, 723, 1, 9], +[264254, 723, 7, 4], +[264314, 723, 9, 2], +[264508, 724, 3, 14], +[264673, 724, 8, 26], +[264830, 725, 1, 30], +[264910, 725, 4, 20], +[264941, 725, 5, 21], +[265038, 725, 8, 26], +[265203, 726, 2, 7], +[265308, 726, 5, 23], +[265416, 726, 9, 8], +[265542, 727, 1, 12], +[265659, 727, 5, 9], +[265759, 727, 8, 17], +[265883, 727, 12, 19], +[266018, 728, 5, 2], +[266030, 728, 5, 14], +[266132, 728, 8, 24], +[266177, 728, 10, 8], +[266237, 728, 12, 7], +[266307, 729, 2, 15], +[266483, 729, 8, 10], +[266501, 729, 8, 28], +[266512, 729, 9, 8], +[266605, 729, 12, 10], +[266634, 730, 1, 8], +[266756, 730, 5, 10], +[266867, 730, 8, 29], +[267036, 731, 2, 14], +[267139, 731, 5, 28], +[267287, 731, 10, 23], +[267332, 731, 12, 7], +[267418, 732, 3, 2], +[267613, 732, 9, 13], +[267756, 733, 2, 3], +[267829, 733, 4, 17], +[267834, 733, 4, 22], +[267914, 733, 7, 11], +[268059, 733, 12, 3], +[268198, 734, 4, 21], +[268240, 734, 6, 2], +[268293, 734, 7, 25], +[268320, 734, 8, 21], +[268433, 734, 12, 12], +[268459, 735, 1, 7], +[268537, 735, 3, 26], +[268648, 735, 7, 15], +[268756, 735, 10, 31], +[268801, 735, 12, 15], +[268805, 735, 12, 19], +[268998, 736, 6, 29], +[269162, 736, 12, 10], +[269292, 737, 4, 19], +[269387, 737, 7, 23], +[269466, 737, 10, 10], +[269513, 737, 11, 26], +[269657, 738, 4, 19], +[269796, 738, 9, 5], +[269960, 739, 2, 16], +[270156, 739, 8, 31], +[270251, 739, 12, 4], +[270276, 739, 12, 29], +[270380, 740, 4, 11], +[270473, 740, 7, 13], +[270614, 740, 12, 1], +[270724, 741, 3, 21], +[270807, 741, 6, 12], +[270881, 741, 8, 25], +[271014, 742, 1, 5], +[271027, 742, 1, 18], +[271058, 742, 2, 18], +[271119, 742, 4, 20], +[271206, 742, 7, 16], +[271358, 742, 12, 15], +[271496, 743, 5, 2], +[271681, 743, 11, 3], +[271803, 744, 3, 4], +[271929, 744, 7, 8], +[272071, 744, 11, 27], +[272175, 745, 3, 11], +[272257, 745, 6, 1], +[272419, 745, 11, 10], +[272491, 746, 1, 21], +[272588, 746, 4, 28], +[272711, 746, 8, 29], +[272738, 746, 9, 25], +[272758, 746, 10, 15], +[272927, 747, 4, 2], +[273076, 747, 8, 29], +[273258, 748, 2, 27], +[273379, 748, 6, 27], +[273459, 748, 9, 15], +[273636, 749, 3, 11], +[273756, 749, 7, 9], +[273829, 749, 9, 20], +[274000, 750, 3, 10], +[274146, 750, 8, 3], +[274148, 750, 8, 5], +[274235, 750, 10, 31], +[274368, 751, 3, 13], +[274393, 751, 4, 7], +[274574, 751, 10, 5], +[274667, 752, 1, 6], +[274736, 752, 3, 15], +[274784, 752, 5, 2], +[274934, 752, 9, 29], +[274980, 752, 11, 14], +[275006, 752, 12, 10], +[275030, 753, 1, 3], +[275202, 753, 6, 24], +[275333, 753, 11, 2], +[275433, 754, 2, 10], +[275607, 754, 8, 3], +[275774, 755, 1, 17], +[275837, 755, 3, 21], +[275843, 755, 3, 27], +[276018, 755, 9, 18], +[276165, 756, 2, 12], +[276226, 756, 4, 13], +[276397, 756, 10, 1], +[276526, 757, 2, 7], +[276698, 757, 7, 29], +[276878, 758, 1, 25], +[276911, 758, 2, 27], +[277080, 758, 8, 15], +[277280, 759, 3, 3], +[277325, 759, 4, 17], +[277432, 759, 8, 2], +[277583, 759, 12, 31], +[277723, 760, 5, 19], +[277895, 760, 11, 7], +[277962, 761, 1, 13], +[277974, 761, 1, 25], +[278109, 761, 6, 9], +[278257, 761, 11, 4], +[278313, 761, 12, 30], +[278363, 762, 2, 18], +[278533, 762, 8, 7], +[278590, 762, 10, 3], +[278784, 763, 4, 15], +[278927, 763, 9, 5], +[279125, 764, 3, 21], +[279254, 764, 7, 28], +[279321, 764, 10, 3], +[279471, 765, 3, 2], +[279641, 765, 8, 19], +[279841, 766, 3, 7], +[279975, 766, 7, 19], +[279992, 766, 8, 5], +[280138, 766, 12, 29], +[280183, 767, 2, 12], +[280358, 767, 8, 6], +[280412, 767, 9, 29], +[280467, 767, 11, 23], +[280622, 768, 4, 26], +[280716, 768, 7, 29], +[280914, 769, 2, 12], +[281027, 769, 6, 5], +[281110, 769, 8, 27], +[281186, 769, 11, 11], +[281299, 770, 3, 4], +[281353, 770, 4, 27], +[281384, 770, 5, 28], +[281466, 770, 8, 18], +[281643, 771, 2, 11], +[281666, 771, 3, 6], +[281739, 771, 5, 18], +[281756, 771, 6, 4], +[281822, 771, 8, 9], +[281865, 771, 9, 21], +[281873, 771, 9, 29], +[281915, 771, 11, 10], +[281931, 771, 11, 26], +[281989, 772, 1, 23], +[282160, 772, 7, 12], +[282242, 772, 10, 2], +[282396, 773, 3, 5], +[282481, 773, 5, 29], +[282585, 773, 9, 10], +[282746, 774, 2, 18], +[282924, 774, 8, 15], +[283005, 774, 11, 4], +[283146, 775, 3, 25], +[283235, 775, 6, 22], +[283363, 775, 10, 28], +[283460, 776, 2, 2], +[283562, 776, 5, 14], +[283645, 776, 8, 5], +[283696, 776, 9, 25], +[283827, 777, 2, 3], +[283998, 777, 7, 24], +[284129, 777, 12, 2], +[284156, 777, 12, 29], +[284326, 778, 6, 17], +[284394, 778, 8, 24], +[284474, 778, 11, 12], +[284615, 779, 4, 2], +[284641, 779, 4, 28], +[284644, 779, 5, 1], +[284801, 779, 10, 5], +[284949, 780, 3, 1], +[285065, 780, 6, 25], +[285197, 780, 11, 4], +[285234, 780, 12, 11], +[285399, 781, 5, 25], +[285400, 781, 5, 26], +[285444, 781, 7, 9], +[285640, 782, 1, 21], +[285686, 782, 3, 8], +[285862, 782, 8, 31], +[286005, 783, 1, 21], +[286107, 783, 5, 3], +[286117, 783, 5, 13], +[286130, 783, 5, 26], +[286226, 783, 8, 30], +[286250, 783, 9, 23], +[286392, 784, 2, 12], +[286525, 784, 6, 24], +[286713, 784, 12, 29], +[286746, 785, 1, 31], +[286819, 785, 4, 14], +[286830, 785, 4, 25], +[286948, 785, 8, 21], +[287106, 786, 1, 26], +[287219, 786, 5, 19], +[287227, 786, 5, 27], +[287359, 786, 10, 6], +[287401, 786, 11, 17], +[287485, 787, 2, 9], +[287643, 787, 7, 17], +[287759, 787, 11, 10], +[287819, 788, 1, 9], +[287991, 788, 6, 29], +[288064, 788, 9, 10], +[288191, 789, 1, 15], +[288352, 789, 6, 25], +[288517, 789, 12, 7], +[288685, 790, 5, 24], +[288808, 790, 9, 24], +[288854, 790, 11, 9], +[288868, 790, 11, 23], +[288965, 791, 2, 28], +[289163, 791, 9, 14], +[289279, 792, 1, 8], +[289307, 792, 2, 5], +[289444, 792, 6, 21], +[289540, 792, 9, 25], +[289579, 792, 11, 3], +[289708, 793, 3, 12], +[289711, 793, 3, 15], +[289733, 793, 4, 6], +[289870, 793, 8, 21], +[289983, 793, 12, 12], +[290158, 794, 6, 5], +[290356, 794, 12, 20], +[290511, 795, 5, 24], +[290609, 795, 8, 30], +[290641, 795, 10, 1], +[290715, 795, 12, 14], +[290905, 796, 6, 21], +[291014, 796, 10, 8], +[291101, 797, 1, 3], +[291158, 797, 3, 1], +[291187, 797, 3, 30], +[291349, 797, 9, 8], +[291410, 797, 11, 8], +[291455, 797, 12, 23], +[291623, 798, 6, 9], +[291657, 798, 7, 13], +[291687, 798, 8, 12], +[291769, 798, 11, 2], +[291808, 798, 12, 11], +[291943, 799, 4, 25], +[291974, 799, 5, 26], +[292076, 799, 9, 5], +[292242, 800, 2, 18], +[292272, 800, 3, 19], +[292348, 800, 6, 3], +[292416, 800, 8, 10], +[292581, 801, 1, 22], +[292647, 801, 3, 29], +[292782, 801, 8, 11], +[292825, 801, 9, 23], +[292868, 801, 11, 5], +[292887, 801, 11, 24], +[292970, 802, 2, 15], +[293001, 802, 3, 18], +[293131, 802, 7, 26], +[293229, 802, 11, 1], +[293285, 802, 12, 27], +[293332, 803, 2, 12], +[293391, 803, 4, 12], +[293407, 803, 4, 28], +[293457, 803, 6, 17], +[293633, 803, 12, 10], +[293740, 804, 3, 26], +[293892, 804, 8, 25], +[293893, 804, 8, 26], +[293896, 804, 8, 29], +[293948, 804, 10, 20], +[294038, 805, 1, 18], +[294158, 805, 5, 18], +[294310, 805, 10, 17], +[294433, 806, 2, 17], +[294603, 806, 8, 6], +[294678, 806, 10, 20], +[294756, 807, 1, 6], +[294885, 807, 5, 15], +[294978, 807, 8, 16], +[295003, 807, 9, 10], +[295198, 808, 3, 23], +[295344, 808, 8, 16], +[295466, 808, 12, 16], +[295646, 809, 6, 14], +[295829, 809, 12, 14], +[295911, 810, 3, 6], +[295953, 810, 4, 17], +[296052, 810, 7, 25], +[296225, 811, 1, 14], +[296312, 811, 4, 11], +[296455, 811, 9, 1], +[296521, 811, 11, 6], +[296700, 812, 5, 3], +[296866, 812, 10, 16], +[296892, 812, 11, 11], +[296983, 813, 2, 10], +[297158, 813, 8, 4], +[297259, 813, 11, 13], +[297407, 814, 4, 10], +[297426, 814, 4, 29], +[297620, 814, 11, 9], +[297625, 814, 11, 14], +[297814, 815, 5, 22], +[297938, 815, 9, 23], +[298079, 816, 2, 11], +[298204, 816, 6, 15], +[298277, 816, 8, 27], +[298408, 817, 1, 5], +[298510, 817, 4, 17], +[298656, 817, 9, 10], +[298840, 818, 3, 13], +[298876, 818, 4, 18], +[298993, 818, 8, 13], +[299145, 819, 1, 12], +[299245, 819, 4, 22], +[299389, 819, 9, 13], +[299564, 820, 3, 6], +[299595, 820, 4, 6], +[299623, 820, 5, 4], +[299742, 820, 8, 31], +[299911, 821, 2, 16], +[300100, 821, 8, 24], +[300224, 821, 12, 26], +[300395, 822, 6, 15], +[300487, 822, 9, 15], +[300546, 822, 11, 13], +[300697, 823, 4, 13], +[300753, 823, 6, 8], +[300819, 823, 8, 13], +[301017, 824, 2, 27], +[301102, 824, 5, 22], +[301259, 824, 10, 26], +[301352, 825, 1, 27], +[301426, 825, 4, 11], +[301500, 825, 6, 24], +[301612, 825, 10, 14], +[301639, 825, 11, 10], +[301667, 825, 12, 8], +[301683, 825, 12, 24], +[301870, 826, 6, 29], +[301901, 826, 7, 30], +[301986, 826, 10, 23], +[302035, 826, 12, 11], +[302100, 827, 2, 14], +[302201, 827, 5, 26], +[302333, 827, 10, 5], +[302500, 828, 3, 20], +[302666, 828, 9, 2], +[302712, 828, 10, 18], +[302811, 829, 1, 25], +[302889, 829, 4, 13], +[302986, 829, 7, 19], +[303163, 830, 1, 12], +[303313, 830, 6, 11], +[303471, 830, 11, 16], +[303510, 830, 12, 25], +[303536, 831, 1, 20], +[303712, 831, 7, 15], +[303852, 831, 12, 2], +[303953, 832, 3, 12], +[304021, 832, 5, 19], +[304060, 832, 6, 27], +[304085, 832, 7, 22], +[304164, 832, 10, 9], +[304299, 833, 2, 21], +[304336, 833, 3, 30], +[304367, 833, 4, 30], +[304447, 833, 7, 19], +[304585, 833, 12, 4], +[304624, 834, 1, 12], +[304789, 834, 6, 26], +[304959, 834, 12, 13], +[305001, 835, 1, 24], +[305191, 835, 8, 2], +[305228, 835, 9, 8], +[305402, 836, 2, 29], +[305451, 836, 4, 18], +[305503, 836, 6, 9], +[305554, 836, 7, 30], +[305563, 836, 8, 8], +[305618, 836, 10, 2], +[305652, 836, 11, 5], +[305680, 836, 12, 3], +[305719, 837, 1, 11], +[305751, 837, 2, 12], +[305799, 837, 4, 1], +[305898, 837, 7, 9], +[306069, 837, 12, 27], +[306113, 838, 2, 9], +[306236, 838, 6, 12], +[306292, 838, 8, 7], +[306464, 839, 1, 26], +[306555, 839, 4, 27], +[306568, 839, 5, 10], +[306669, 839, 8, 19], +[306845, 840, 2, 11], +[307042, 840, 8, 26], +[307225, 841, 2, 25], +[307354, 841, 7, 4], +[307361, 841, 7, 11], +[307422, 841, 9, 10], +[307542, 842, 1, 8], +[307705, 842, 6, 20], +[307887, 842, 12, 19], +[307933, 843, 2, 3], +[308063, 843, 6, 13], +[308235, 843, 12, 2], +[308392, 844, 5, 7], +[308419, 844, 6, 3], +[308559, 844, 10, 21], +[308583, 844, 11, 14], +[308639, 845, 1, 9], +[308792, 845, 6, 11], +[308893, 845, 9, 20], +[309020, 846, 1, 25], +[309057, 846, 3, 3], +[309130, 846, 5, 15], +[309175, 846, 6, 29], +[309373, 847, 1, 13], +[309472, 847, 4, 22], +[309541, 847, 6, 30], +[309571, 847, 7, 30], +[309748, 848, 1, 23], +[309923, 848, 7, 16], +[310015, 848, 10, 16], +[310104, 849, 1, 13], +[310209, 849, 4, 28], +[310218, 849, 5, 7], +[310314, 849, 8, 11], +[310352, 849, 9, 18], +[310438, 849, 12, 13], +[310463, 850, 1, 7], +[310468, 850, 1, 12], +[310597, 850, 5, 21], +[310754, 850, 10, 25], +[310837, 851, 1, 16], +[310994, 851, 6, 22], +[311169, 851, 12, 14], +[311357, 852, 6, 19], +[311438, 852, 9, 8], +[311635, 853, 3, 24], +[311816, 853, 9, 21], +[311823, 853, 9, 28], +[311961, 854, 2, 13], +[312065, 854, 5, 28], +[312227, 854, 11, 6], +[312406, 855, 5, 4], +[312493, 855, 7, 30], +[312554, 855, 9, 29], +[312602, 855, 11, 16], +[312759, 856, 4, 21], +[312906, 856, 9, 15], +[312912, 856, 9, 21], +[312962, 856, 11, 10], +[313086, 857, 3, 14], +[313206, 857, 7, 12], +[313298, 857, 10, 12], +[313362, 857, 12, 15], +[313497, 858, 4, 29], +[313617, 858, 8, 27], +[313796, 859, 2, 22], +[313962, 859, 8, 7], +[314041, 859, 10, 25], +[314077, 859, 11, 30], +[314178, 860, 3, 10], +[314253, 860, 5, 24], +[314377, 860, 9, 25], +[314391, 860, 10, 9], +[314455, 860, 12, 12], +[314614, 861, 5, 20], +[314785, 861, 11, 7], +[314863, 862, 1, 24], +[314996, 862, 6, 6], +[315049, 862, 7, 29], +[315109, 862, 9, 27], +[315251, 863, 2, 16], +[315437, 863, 8, 21], +[315569, 863, 12, 31], +[315624, 864, 2, 24], +[315778, 864, 7, 27], +[315887, 864, 11, 13], +[316055, 865, 4, 30], +[316174, 865, 8, 27], +[316210, 865, 10, 2], +[316322, 866, 1, 22], +[316455, 866, 6, 4], +[316485, 866, 7, 4], +[316538, 866, 8, 26], +[316621, 866, 11, 17], +[316748, 867, 3, 24], +[316939, 867, 10, 1], +[317056, 868, 1, 26], +[317239, 868, 7, 27], +[317316, 868, 10, 12], +[317367, 868, 12, 2], +[317454, 869, 2, 27], +[317504, 869, 4, 18], +[317560, 869, 6, 13], +[317577, 869, 6, 30], +[317675, 869, 10, 6], +[317733, 869, 12, 3], +[317759, 869, 12, 29], +[317950, 870, 7, 8], +[317959, 870, 7, 17], +[318098, 870, 12, 3], +[318233, 871, 4, 17], +[318329, 871, 7, 22], +[318511, 872, 1, 20], +[318561, 872, 3, 10], +[318589, 872, 4, 7], +[318767, 872, 10, 2], +[318900, 873, 2, 12], +[318973, 873, 4, 26], +[319011, 873, 6, 3], +[319113, 873, 9, 13], +[319249, 874, 1, 27], +[319367, 874, 5, 25], +[319503, 874, 10, 8], +[319528, 874, 11, 2], +[319648, 875, 3, 2], +[319670, 875, 3, 24], +[319822, 875, 8, 23], +[320012, 876, 2, 29], +[320122, 876, 6, 18], +[320300, 876, 12, 13], +[320481, 877, 6, 12], +[320532, 877, 8, 2], +[320712, 878, 1, 29], +[320876, 878, 7, 12], +[320880, 878, 7, 16], +[320901, 878, 8, 6], +[321082, 879, 2, 3], +[321236, 879, 7, 7], +[321326, 879, 10, 5], +[321377, 879, 11, 25], +[321381, 879, 11, 29], +[321390, 879, 12, 8], +[321498, 880, 3, 25], +[321650, 880, 8, 24], +[321659, 880, 9, 2], +[321809, 881, 1, 30], +[321894, 881, 4, 25], +[322072, 881, 10, 20], +[322109, 881, 11, 26], +[322248, 882, 4, 14], +[322268, 882, 5, 4], +[322321, 882, 6, 26], +[322386, 882, 8, 30], +[322397, 882, 9, 10], +[322488, 882, 12, 10], +[322623, 883, 4, 24], +[322786, 883, 10, 4], +[322844, 883, 12, 1], +[323028, 884, 6, 2], +[323088, 884, 8, 1], +[323204, 884, 11, 25], +[323402, 885, 6, 11], +[323487, 885, 9, 4], +[323665, 886, 3, 1], +[323856, 886, 9, 8], +[323900, 886, 10, 22], +[323957, 886, 12, 18], +[324135, 887, 6, 14], +[324333, 887, 12, 29], +[324511, 888, 6, 24], +[324671, 888, 12, 1], +[324763, 889, 3, 3], +[324870, 889, 6, 18], +[324996, 889, 10, 22], +[325049, 889, 12, 14], +[325054, 889, 12, 19], +[325059, 889, 12, 24], +[325079, 890, 1, 13], +[325214, 890, 5, 28], +[325364, 890, 10, 25], +[325449, 891, 1, 18], +[325512, 891, 3, 22], +[325581, 891, 5, 30], +[325717, 891, 10, 13], +[325784, 891, 12, 19], +[325832, 892, 2, 5], +[325843, 892, 2, 16], +[326021, 892, 8, 12], +[326188, 893, 1, 26], +[326273, 893, 4, 21], +[326355, 893, 7, 12], +[326363, 893, 7, 20], +[326523, 893, 12, 27], +[326545, 894, 1, 18], +[326636, 894, 4, 19], +[326766, 894, 8, 27], +[326918, 895, 1, 26], +[326924, 895, 2, 1], +[327104, 895, 7, 31], +[327195, 895, 10, 30], +[327364, 896, 4, 16], +[327547, 896, 10, 16], +[327708, 897, 3, 26], +[327894, 897, 9, 28], +[328063, 898, 3, 16], +[328129, 898, 5, 21], +[328287, 898, 10, 26], +[328465, 899, 4, 22], +[328471, 899, 4, 28], +[328539, 899, 7, 5], +[328601, 899, 9, 5], +[328730, 900, 1, 12], +[328903, 900, 7, 4], +[329011, 900, 10, 20], +[329075, 900, 12, 23], +[329097, 901, 1, 14], +[329256, 901, 6, 22], +[329315, 901, 8, 20], +[329502, 902, 2, 23], +[329618, 902, 6, 19], +[329812, 902, 12, 30], +[329815, 903, 1, 2], +[329958, 903, 5, 25], +[330143, 903, 11, 26], +[330288, 904, 4, 19], +[330367, 904, 7, 7], +[330438, 904, 9, 16], +[330566, 905, 1, 22], +[330755, 905, 7, 30], +[330759, 905, 8, 3], +[330781, 905, 8, 25], +[330934, 906, 1, 25], +[331037, 906, 5, 8], +[331040, 906, 5, 11], +[331196, 906, 10, 14], +[331219, 906, 11, 6], +[331237, 906, 11, 24], +[331384, 907, 4, 20], +[331548, 907, 10, 1], +[331677, 908, 2, 7], +[331817, 908, 6, 26], +[331843, 908, 7, 22], +[331873, 908, 8, 21], +[331886, 908, 9, 3], +[331972, 908, 11, 28], +[332145, 909, 5, 20], +[332223, 909, 8, 6], +[332371, 910, 1, 1], +[332570, 910, 7, 19], +[332766, 911, 1, 31], +[332892, 911, 6, 6], +[333046, 911, 11, 7], +[333066, 911, 11, 27], +[333100, 911, 12, 31], +[333188, 912, 3, 28], +[333343, 912, 8, 30], +[333484, 913, 1, 18], +[333630, 913, 6, 13], +[333759, 913, 10, 20], +[333871, 914, 2, 9], +[333993, 914, 6, 11], +[334088, 914, 9, 14], +[334202, 915, 1, 6], +[334211, 915, 1, 15], +[334382, 915, 7, 5], +[334450, 915, 9, 11], +[334568, 916, 1, 7], +[334670, 916, 4, 18], +[334697, 916, 5, 15], +[334790, 916, 8, 16], +[334982, 917, 2, 24], +[335177, 917, 9, 7], +[335198, 917, 9, 28], +[335254, 917, 11, 23], +[335427, 918, 5, 15], +[335530, 918, 8, 26], +[335683, 919, 1, 26], +[335813, 919, 6, 5], +[335972, 919, 11, 11], +[336045, 920, 1, 23], +[336046, 920, 1, 24], +[336160, 920, 5, 17], +[336230, 920, 7, 26], +[336292, 920, 9, 26], +[336357, 920, 11, 30], +[336382, 920, 12, 25], +[336409, 921, 1, 21], +[336451, 921, 3, 4], +[336472, 921, 3, 25], +[336505, 921, 4, 27], +[336682, 921, 10, 21], +[336707, 921, 11, 15], +[336764, 922, 1, 11], +[336901, 922, 5, 28], +[336948, 922, 7, 14], +[336960, 922, 7, 26], +[336972, 922, 8, 7], +[337029, 922, 10, 3], +[337072, 922, 11, 15], +[337200, 923, 3, 23], +[337389, 923, 9, 28], +[337534, 924, 2, 20], +[337707, 924, 8, 11], +[337719, 924, 8, 23], +[337755, 924, 9, 28], +[337796, 924, 11, 8], +[337861, 925, 1, 12], +[338051, 925, 7, 21], +[338134, 925, 10, 12], +[338218, 926, 1, 4], +[338325, 926, 4, 21], +[338345, 926, 5, 11], +[338425, 926, 7, 30], +[338575, 926, 12, 27], +[338696, 927, 4, 27], +[338758, 927, 6, 28], +[338893, 927, 11, 10], +[338981, 928, 2, 6], +[339179, 928, 8, 22], +[339281, 928, 12, 2], +[339344, 929, 2, 3], +[339476, 929, 6, 15], +[339522, 929, 7, 31], +[339633, 929, 11, 19], +[339692, 930, 1, 17], +[339846, 930, 6, 20], +[339857, 930, 7, 1], +[340027, 930, 12, 18], +[340135, 931, 4, 5], +[340167, 931, 5, 7], +[340190, 931, 5, 30], +[340385, 931, 12, 11], +[340506, 932, 4, 10], +[340553, 932, 5, 27], +[340699, 932, 10, 20], +[340770, 932, 12, 30], +[340811, 933, 2, 9], +[340976, 933, 7, 24], +[341153, 934, 1, 17], +[341232, 934, 4, 6], +[341345, 934, 7, 28], +[341456, 934, 11, 16], +[341469, 934, 11, 29], +[341549, 935, 2, 17], +[341656, 935, 6, 4], +[341703, 935, 7, 21], +[341895, 936, 1, 29], +[342028, 936, 6, 10], +[342072, 936, 7, 24], +[342167, 936, 10, 27], +[342317, 937, 3, 26], +[342412, 937, 6, 29], +[342480, 937, 9, 5], +[342663, 938, 3, 7], +[342664, 938, 3, 8], +[342854, 938, 9, 14], +[343032, 939, 3, 11], +[343067, 939, 4, 15], +[343082, 939, 4, 30], +[343135, 939, 6, 22], +[343157, 939, 7, 14], +[343305, 939, 12, 9], +[343346, 940, 1, 19], +[343512, 940, 7, 3], +[343682, 940, 12, 20], +[343775, 941, 3, 23], +[343785, 941, 4, 2], +[343960, 941, 9, 24], +[344005, 941, 11, 8], +[344156, 942, 4, 8], +[344189, 942, 5, 11], +[344348, 942, 10, 17], +[344521, 943, 4, 8], +[344538, 943, 4, 25], +[344614, 943, 7, 10], +[344791, 944, 1, 3], +[344827, 944, 2, 8], +[344957, 944, 6, 17], +[345107, 944, 11, 14], +[345158, 945, 1, 4], +[345303, 945, 5, 29], +[345469, 945, 11, 11], +[345556, 946, 2, 6], +[345558, 946, 2, 8], +[345737, 946, 8, 6], +[345756, 946, 8, 25], +[345770, 946, 9, 8], +[345798, 946, 10, 6], +[345972, 947, 3, 29], +[346053, 947, 6, 18], +[346171, 947, 10, 14], +[346336, 948, 3, 27], +[346533, 948, 10, 10], +[346570, 948, 11, 16], +[346649, 949, 2, 3], +[346798, 949, 7, 2], +[346919, 949, 10, 31], +[347015, 950, 2, 4], +[347130, 950, 5, 30], +[347214, 950, 8, 22], +[347344, 950, 12, 30], +[347439, 951, 4, 4], +[347442, 951, 4, 7], +[347633, 951, 10, 15], +[347753, 952, 2, 12], +[347843, 952, 5, 12], +[347872, 952, 6, 10], +[347884, 952, 6, 22], +[348036, 952, 11, 21], +[348059, 952, 12, 14], +[348096, 953, 1, 20], +[348143, 953, 3, 8], +[348310, 953, 8, 22], +[348374, 953, 10, 25], +[348506, 954, 3, 6], +[348639, 954, 7, 17], +[348670, 954, 8, 17], +[348839, 955, 2, 2], +[348954, 955, 5, 28], +[348959, 955, 6, 2], +[349059, 955, 9, 10], +[349141, 955, 12, 1], +[349293, 956, 5, 1], +[349361, 956, 7, 8], +[349412, 956, 8, 28], +[349593, 957, 2, 25], +[349631, 957, 4, 4], +[349810, 957, 9, 30], +[349841, 957, 10, 31], +[349994, 958, 4, 2], +[350133, 958, 8, 19], +[350271, 959, 1, 4], +[350353, 959, 3, 27], +[350358, 959, 4, 1], +[350420, 959, 6, 2], +[350431, 959, 6, 13], +[350607, 959, 12, 6], +[350752, 960, 4, 29], +[350894, 960, 9, 18], +[350934, 960, 10, 28], +[350937, 960, 10, 31], +[351125, 961, 5, 7], +[351211, 961, 8, 1], +[351257, 961, 9, 16], +[351405, 962, 2, 11], +[351541, 962, 6, 27], +[351629, 962, 9, 23], +[351742, 963, 1, 14], +[351791, 963, 3, 4], +[351916, 963, 7, 7], +[351921, 963, 7, 12], +[352086, 963, 12, 24], +[352117, 964, 1, 24], +[352193, 964, 4, 9], +[352343, 964, 9, 6], +[352442, 964, 12, 14], +[352632, 965, 6, 22], +[352816, 965, 12, 23], +[352893, 966, 3, 10], +[352979, 966, 6, 4], +[353176, 966, 12, 18], +[353259, 967, 3, 11], +[353410, 967, 8, 9], +[353427, 967, 8, 26], +[353430, 967, 8, 29], +[353432, 967, 8, 31], +[353472, 967, 10, 10], +[353646, 968, 4, 1], +[353807, 968, 9, 9], +[353841, 968, 10, 13], +[353944, 969, 1, 24], +[354131, 969, 7, 30], +[354220, 969, 10, 27], +[354399, 970, 4, 24], +[354598, 970, 11, 9], +[354760, 971, 4, 20], +[354874, 971, 8, 12], +[354901, 971, 9, 8], +[355070, 972, 2, 24], +[355228, 972, 7, 31], +[355361, 972, 12, 11], +[355371, 972, 12, 21], +[355481, 973, 4, 10], +[355614, 973, 8, 21], +[355694, 973, 11, 9], +[355789, 974, 2, 12], +[355867, 974, 5, 1], +[355957, 974, 7, 30], +[356009, 974, 9, 20], +[356096, 974, 12, 16], +[356247, 975, 5, 16], +[356259, 975, 5, 28], +[356370, 975, 9, 16], +[356461, 975, 12, 16], +[356586, 976, 4, 19], +[356660, 976, 7, 2], +[356779, 976, 10, 29], +[356957, 977, 4, 25], +[357029, 977, 7, 6], +[357151, 977, 11, 5], +[357203, 977, 12, 27], +[357230, 978, 1, 23], +[357328, 978, 5, 1], +[357367, 978, 6, 9], +[357499, 978, 10, 19], +[357567, 978, 12, 26], +[357748, 979, 6, 25], +[357946, 980, 1, 9], +[358095, 980, 6, 6], +[358214, 980, 10, 3], +[358260, 980, 11, 18], +[358442, 981, 5, 19], +[358565, 981, 9, 19], +[358710, 982, 2, 11], +[358877, 982, 7, 28], +[358982, 982, 11, 10], +[359136, 983, 4, 13], +[359298, 983, 9, 22], +[359343, 983, 11, 6], +[359504, 984, 4, 15], +[359506, 984, 4, 17], +[359603, 984, 7, 23], +[359735, 984, 12, 2], +[359848, 985, 3, 25], +[359919, 985, 6, 4], +[360090, 985, 11, 22], +[360176, 986, 2, 16], +[360208, 986, 3, 20], +[360338, 986, 7, 28], +[360510, 987, 1, 16], +[360684, 987, 7, 9], +[360732, 987, 8, 26], +[360765, 987, 9, 28], +[360876, 988, 1, 17], +[361047, 988, 7, 6], +[361084, 988, 8, 12], +[361136, 988, 10, 3], +[361317, 989, 4, 2], +[361488, 989, 9, 20], +[361661, 990, 3, 12], +[361828, 990, 8, 26], +[362005, 991, 2, 19], +[362182, 991, 8, 15], +[362331, 992, 1, 11], +[362370, 992, 2, 19], +[362416, 992, 4, 5], +[362497, 992, 6, 25], +[362534, 992, 8, 1], +[362615, 992, 10, 21], +[362795, 993, 4, 19], +[362941, 993, 9, 12], +[363086, 994, 2, 4], +[363190, 994, 5, 19], +[363227, 994, 6, 25], +[363390, 994, 12, 5], +[363524, 995, 4, 18], +[363686, 995, 9, 27], +[363882, 996, 4, 10], +[364026, 996, 9, 1], +[364218, 997, 3, 12], +[364257, 997, 4, 20], +[364328, 997, 6, 30], +[364391, 997, 9, 1], +[364416, 997, 9, 26], +[364569, 998, 2, 26], +[364576, 998, 3, 5], +[364670, 998, 6, 7], +[364708, 998, 7, 15], +[364898, 999, 1, 21], +[365086, 999, 7, 28], +[365282, 1000, 2, 9], +[365425, 1000, 7, 2], +[365572, 1000, 11, 26], +[365751, 1001, 5, 24], +[365873, 1001, 9, 23], +[365876, 1001, 9, 26], +[366023, 1002, 2, 20], +[366047, 1002, 3, 16], +[366071, 1002, 4, 9], +[366215, 1002, 8, 31], +[366342, 1003, 1, 5], +[366463, 1003, 5, 6], +[366663, 1003, 11, 22], +[366740, 1004, 2, 7], +[366801, 1004, 4, 8], +[366823, 1004, 4, 30], +[366961, 1004, 9, 15], +[367055, 1004, 12, 18], +[367166, 1005, 4, 8], +[367304, 1005, 8, 24], +[367395, 1005, 11, 23], +[367402, 1005, 11, 30], +[367511, 1006, 3, 19], +[367559, 1006, 5, 6], +[367671, 1006, 8, 26], +[367708, 1006, 10, 2], +[367803, 1007, 1, 5], +[367910, 1007, 4, 22], +[367962, 1007, 6, 13], +[368095, 1007, 10, 24], +[368108, 1007, 11, 6], +[368139, 1007, 12, 7], +[368178, 1008, 1, 15], +[368324, 1008, 6, 9], +[368362, 1008, 7, 17], +[368495, 1008, 11, 27], +[368642, 1009, 4, 23], +[368715, 1009, 7, 5], +[368734, 1009, 7, 24], +[368757, 1009, 8, 16], +[368850, 1009, 11, 17], +[368986, 1010, 4, 2], +[369078, 1010, 7, 3], +[369263, 1011, 1, 4], +[369288, 1011, 1, 29], +[369435, 1011, 6, 25], +[369560, 1011, 10, 28], +[369748, 1012, 5, 3], +[369767, 1012, 5, 22], +[369915, 1012, 10, 17], +[370074, 1013, 3, 25], +[370209, 1013, 8, 7], +[370279, 1013, 10, 16], +[370284, 1013, 10, 21], +[370331, 1013, 12, 7], +[370452, 1014, 4, 7], +[370561, 1014, 7, 25], +[370751, 1015, 1, 31], +[370766, 1015, 2, 15], +[370788, 1015, 3, 9], +[370972, 1015, 9, 9], +[371037, 1015, 11, 13], +[371158, 1016, 3, 13], +[371162, 1016, 3, 17], +[371238, 1016, 6, 1], +[371253, 1016, 6, 16], +[371310, 1016, 8, 12], +[371368, 1016, 10, 9], +[371517, 1017, 3, 7], +[371535, 1017, 3, 25], +[371605, 1017, 6, 3], +[371640, 1017, 7, 8], +[371676, 1017, 8, 13], +[371686, 1017, 8, 23], +[371801, 1017, 12, 16], +[371903, 1018, 3, 28], +[372077, 1018, 9, 18], +[372236, 1019, 2, 24], +[372322, 1019, 5, 21], +[372333, 1019, 6, 1], +[372450, 1019, 9, 26], +[372480, 1019, 10, 26], +[372680, 1020, 5, 13], +[372757, 1020, 7, 29], +[372881, 1020, 11, 30], +[373058, 1021, 5, 26], +[373163, 1021, 9, 8], +[373256, 1021, 12, 10], +[373405, 1022, 5, 8], +[373457, 1022, 6, 29], +[373498, 1022, 8, 9], +[373519, 1022, 8, 30], +[373708, 1023, 3, 7], +[373724, 1023, 3, 23], +[373895, 1023, 9, 10], +[373941, 1023, 10, 26], +[374102, 1024, 4, 4], +[374301, 1024, 10, 20], +[374342, 1024, 11, 30], +[374479, 1025, 4, 16], +[374661, 1025, 10, 15], +[374696, 1025, 11, 19], +[374711, 1025, 12, 4], +[374806, 1026, 3, 9], +[374931, 1026, 7, 12], +[375121, 1027, 1, 18], +[375213, 1027, 4, 20], +[375360, 1027, 9, 14], +[375373, 1027, 9, 27], +[375567, 1028, 4, 8], +[375642, 1028, 6, 22], +[375705, 1028, 8, 24], +[375898, 1029, 3, 5], +[376013, 1029, 6, 28], +[376144, 1029, 11, 6], +[376164, 1029, 11, 26], +[376239, 1030, 2, 9], +[376312, 1030, 4, 23], +[376430, 1030, 8, 19], +[376593, 1031, 1, 29], +[376769, 1031, 7, 24], +[376837, 1031, 9, 30], +[376902, 1031, 12, 4], +[376970, 1032, 2, 10], +[377122, 1032, 7, 11], +[377261, 1032, 11, 27], +[377392, 1033, 4, 7], +[377528, 1033, 8, 21], +[377690, 1034, 1, 30], +[377732, 1034, 3, 13], +[377793, 1034, 5, 13], +[377902, 1034, 8, 30], +[377998, 1034, 12, 4], +[378005, 1034, 12, 11], +[378125, 1035, 4, 10], +[378283, 1035, 9, 15], +[378339, 1035, 11, 10], +[378487, 1036, 4, 6], +[378547, 1036, 6, 5], +[378730, 1036, 12, 5], +[378892, 1037, 5, 16], +[379084, 1037, 11, 24], +[379182, 1038, 3, 2], +[379210, 1038, 3, 30], +[379340, 1038, 8, 7], +[379387, 1038, 9, 23], +[379572, 1039, 3, 27], +[379606, 1039, 4, 30], +[379789, 1039, 10, 30], +[379858, 1040, 1, 7], +[380020, 1040, 6, 17], +[380096, 1040, 9, 1], +[380199, 1040, 12, 13], +[380337, 1041, 4, 30], +[380374, 1041, 6, 6], +[380395, 1041, 6, 27], +[380572, 1041, 12, 21], +[380657, 1042, 3, 16], +[380826, 1042, 9, 1], +[380952, 1043, 1, 5], +[380961, 1043, 1, 14], +[381110, 1043, 6, 12], +[381170, 1043, 8, 11], +[381319, 1044, 1, 7], +[381344, 1044, 2, 1], +[381356, 1044, 2, 13], +[381502, 1044, 7, 8], +[381685, 1045, 1, 7], +[381690, 1045, 1, 12], +[381862, 1045, 7, 3], +[381951, 1045, 9, 30], +[382116, 1046, 3, 14], +[382170, 1046, 5, 7], +[382253, 1046, 7, 29], +[382393, 1046, 12, 16], +[382572, 1047, 6, 13], +[382602, 1047, 7, 13], +[382605, 1047, 7, 16], +[382776, 1048, 1, 3], +[382797, 1048, 1, 24], +[382976, 1048, 7, 21], +[383153, 1049, 1, 14], +[383213, 1049, 3, 15], +[383383, 1049, 9, 1], +[383571, 1050, 3, 8], +[383717, 1050, 8, 1], +[383741, 1050, 8, 25], +[383792, 1050, 10, 15], +[383892, 1051, 1, 23], +[383987, 1051, 4, 28], +[384088, 1051, 8, 7], +[384230, 1051, 12, 27], +[384404, 1052, 6, 18], +[384470, 1052, 8, 23], +[384491, 1052, 9, 13], +[384537, 1052, 10, 29], +[384688, 1053, 3, 29], +[384729, 1053, 5, 9], +[384800, 1053, 7, 19], +[384803, 1053, 7, 22], +[384959, 1053, 12, 25], +[385021, 1054, 2, 25], +[385187, 1054, 8, 10], +[385295, 1054, 11, 26], +[385451, 1055, 5, 1], +[385499, 1055, 6, 18], +[385667, 1055, 12, 3], +[385758, 1056, 3, 3], +[385917, 1056, 8, 9], +[386005, 1056, 11, 5], +[386129, 1057, 3, 9], +[386130, 1057, 3, 10], +[386205, 1057, 5, 24], +[386208, 1057, 5, 27], +[386361, 1057, 10, 27], +[386418, 1057, 12, 23], +[386464, 1058, 2, 7], +[386468, 1058, 2, 11], +[386636, 1058, 7, 29], +[386811, 1059, 1, 20], +[386909, 1059, 4, 28], +[386973, 1059, 7, 1], +[387133, 1059, 12, 8], +[387145, 1059, 12, 20], +[387171, 1060, 1, 15], +[387269, 1060, 4, 22], +[387467, 1060, 11, 6], +[387572, 1061, 2, 19], +[387702, 1061, 6, 29], +[387747, 1061, 8, 13], +[387800, 1061, 10, 5], +[387972, 1062, 3, 26], +[388073, 1062, 7, 5], +[388150, 1062, 9, 20], +[388155, 1062, 9, 25], +[388319, 1063, 3, 8], +[388472, 1063, 8, 8], +[388611, 1063, 12, 25], +[388631, 1064, 1, 14], +[388796, 1064, 6, 27], +[388962, 1064, 12, 10], +[389101, 1065, 4, 28], +[389292, 1065, 11, 5], +[389417, 1066, 3, 10], +[389571, 1066, 8, 11], +[389754, 1067, 2, 10], +[389922, 1067, 7, 28], +[390023, 1067, 11, 6], +[390197, 1068, 4, 28], +[390203, 1068, 5, 4], +[390348, 1068, 9, 26], +[390493, 1069, 2, 18], +[390647, 1069, 7, 22], +[390703, 1069, 9, 16], +[390706, 1069, 9, 19], +[390748, 1069, 10, 31], +[390853, 1070, 2, 13], +[390961, 1070, 6, 1], +[391050, 1070, 8, 29], +[391106, 1070, 10, 24], +[391239, 1071, 3, 6], +[391279, 1071, 4, 15], +[391302, 1071, 5, 8], +[391364, 1071, 7, 9], +[391562, 1072, 1, 23], +[391565, 1072, 1, 26], +[391745, 1072, 7, 24], +[391871, 1072, 11, 27], +[391983, 1073, 3, 19], +[392131, 1073, 8, 14], +[392323, 1074, 2, 22], +[392420, 1074, 5, 30], +[392430, 1074, 6, 9], +[392596, 1074, 11, 22], +[392637, 1075, 1, 2], +[392748, 1075, 4, 23], +[392856, 1075, 8, 9], +[392918, 1075, 10, 10], +[392947, 1075, 11, 8], +[393123, 1076, 5, 2], +[393312, 1076, 11, 7], +[393373, 1077, 1, 7], +[393442, 1077, 3, 17], +[393599, 1077, 8, 21], +[393619, 1077, 9, 10], +[393770, 1078, 2, 8], +[393794, 1078, 3, 4], +[393932, 1078, 7, 20], +[394107, 1079, 1, 11], +[394265, 1079, 6, 18], +[394345, 1079, 9, 6], +[394496, 1080, 2, 4], +[394589, 1080, 5, 7], +[394620, 1080, 6, 7], +[394773, 1080, 11, 7], +[394811, 1080, 12, 15], +[394923, 1081, 4, 6], +[395109, 1081, 10, 9], +[395192, 1081, 12, 31], +[395200, 1082, 1, 8], +[395315, 1082, 5, 3], +[395337, 1082, 5, 25], +[395490, 1082, 10, 25], +[395573, 1083, 1, 16], +[395657, 1083, 4, 10], +[395722, 1083, 6, 14], +[395760, 1083, 7, 22], +[395790, 1083, 8, 21], +[395869, 1083, 11, 8], +[395989, 1084, 3, 7], +[396070, 1084, 5, 27], +[396262, 1084, 12, 5], +[396340, 1085, 2, 21], +[396385, 1085, 4, 7], +[396450, 1085, 6, 11], +[396500, 1085, 7, 31], +[396557, 1085, 9, 26], +[396735, 1086, 3, 23], +[396747, 1086, 4, 4], +[396894, 1086, 8, 29], +[396943, 1086, 10, 17], +[396978, 1086, 11, 21], +[397103, 1087, 3, 26], +[397241, 1087, 8, 11], +[397370, 1087, 12, 18], +[397460, 1088, 3, 17], +[397650, 1088, 9, 23], +[397825, 1089, 3, 17], +[397970, 1089, 8, 9], +[398088, 1089, 12, 5], +[398214, 1090, 4, 10], +[398228, 1090, 4, 24], +[398262, 1090, 5, 28], +[398457, 1090, 12, 9], +[398579, 1091, 4, 10], +[398695, 1091, 8, 4], +[398779, 1091, 10, 27], +[398844, 1091, 12, 31], +[398955, 1092, 4, 20], +[398984, 1092, 5, 19], +[399054, 1092, 7, 28], +[399239, 1093, 1, 29], +[399250, 1093, 2, 9], +[399385, 1093, 6, 24], +[399409, 1093, 7, 18], +[399480, 1093, 9, 27], +[399574, 1093, 12, 30], +[399596, 1094, 1, 21], +[399717, 1094, 5, 22], +[399723, 1094, 5, 28], +[399783, 1094, 7, 27], +[399789, 1094, 8, 2], +[399861, 1094, 10, 13], +[399912, 1094, 12, 3], +[400030, 1095, 3, 31], +[400228, 1095, 10, 15], +[400406, 1096, 4, 10], +[400544, 1096, 8, 26], +[400653, 1096, 12, 13], +[400756, 1097, 3, 26], +[400911, 1097, 8, 28], +[400919, 1097, 9, 5], +[400924, 1097, 9, 10], +[400975, 1097, 10, 31], +[401166, 1098, 5, 10], +[401263, 1098, 8, 15], +[401463, 1099, 3, 3], +[401609, 1099, 7, 27], +[401802, 1100, 2, 5], +[401835, 1100, 3, 10], +[401880, 1100, 4, 24], +[402018, 1100, 9, 9], +[402177, 1101, 2, 15], +[402200, 1101, 3, 10], +[402399, 1101, 9, 25], +[402542, 1102, 2, 15], +[402668, 1102, 6, 21], +[402706, 1102, 7, 29], +[402807, 1102, 11, 7], +[402864, 1103, 1, 3], +[403043, 1103, 7, 1], +[403162, 1103, 10, 28], +[403203, 1103, 12, 8], +[403221, 1103, 12, 26], +[403416, 1104, 7, 8], +[403605, 1105, 1, 13], +[403766, 1105, 6, 23], +[403847, 1105, 9, 12], +[403913, 1105, 11, 17], +[404056, 1106, 4, 9], +[404064, 1106, 4, 17], +[404135, 1106, 6, 27], +[404239, 1106, 10, 9], +[404392, 1107, 3, 11], +[404447, 1107, 5, 5], +[404527, 1107, 7, 24], +[404600, 1107, 10, 5], +[404774, 1108, 3, 27], +[404813, 1108, 5, 5], +[404985, 1108, 10, 24], +[405086, 1109, 2, 2], +[405217, 1109, 6, 13], +[405351, 1109, 10, 25], +[405373, 1109, 11, 16], +[405456, 1110, 2, 7], +[405597, 1110, 6, 28], +[405754, 1110, 12, 2], +[405859, 1111, 3, 17], +[405928, 1111, 5, 25], +[406109, 1111, 11, 22], +[406274, 1112, 5, 5], +[406362, 1112, 8, 1], +[406474, 1112, 11, 21], +[406624, 1113, 4, 20], +[406697, 1113, 7, 2], +[406745, 1113, 8, 19], +[406824, 1113, 11, 6], +[406851, 1113, 12, 3], +[406863, 1113, 12, 15], +[406886, 1114, 1, 7], +[406922, 1114, 2, 12], +[407084, 1114, 7, 24], +[407124, 1114, 9, 2], +[407251, 1115, 1, 7], +[407307, 1115, 3, 4], +[407383, 1115, 5, 19], +[407401, 1115, 6, 6], +[407508, 1115, 9, 21], +[407694, 1116, 3, 25], +[407867, 1116, 9, 14], +[407941, 1116, 11, 27], +[407989, 1117, 1, 14], +[408064, 1117, 3, 30], +[408145, 1117, 6, 19], +[408189, 1117, 8, 2], +[408316, 1117, 12, 7], +[408501, 1118, 6, 10], +[408655, 1118, 11, 11], +[408713, 1119, 1, 8], +[408813, 1119, 4, 18], +[408938, 1119, 8, 21], +[409015, 1119, 11, 6], +[409076, 1120, 1, 6], +[409193, 1120, 5, 2], +[409369, 1120, 10, 25], +[409527, 1121, 4, 1], +[409584, 1121, 5, 28], +[409713, 1121, 10, 4], +[409890, 1122, 3, 30], +[410038, 1122, 8, 25], +[410056, 1122, 9, 12], +[410110, 1122, 11, 5], +[410263, 1123, 4, 7], +[410272, 1123, 4, 16], +[410370, 1123, 7, 23], +[410544, 1124, 1, 13], +[410718, 1124, 7, 5], +[410806, 1124, 10, 1], +[410833, 1124, 10, 28], +[410960, 1125, 3, 4], +[411031, 1125, 5, 14], +[411134, 1125, 8, 25], +[411209, 1125, 11, 8], +[411300, 1126, 2, 7], +[411373, 1126, 4, 21], +[411378, 1126, 4, 26], +[411397, 1126, 5, 15], +[411556, 1126, 10, 21], +[411739, 1127, 4, 22], +[411923, 1127, 10, 23], +[411968, 1127, 12, 7], +[412052, 1128, 2, 29], +[412066, 1128, 3, 14], +[412149, 1128, 6, 5], +[412308, 1128, 11, 11], +[412367, 1129, 1, 9], +[412515, 1129, 6, 6], +[412674, 1129, 11, 12], +[412861, 1130, 5, 18], +[412867, 1130, 5, 24], +[412956, 1130, 8, 21], +[413015, 1130, 10, 19], +[413190, 1131, 4, 12], +[413353, 1131, 9, 22], +[413466, 1132, 1, 13], +[413542, 1132, 3, 29], +[413670, 1132, 8, 4], +[413828, 1133, 1, 9], +[414001, 1133, 7, 1], +[414030, 1133, 7, 30], +[414109, 1133, 10, 17], +[414227, 1134, 2, 12], +[414301, 1134, 4, 27], +[414341, 1134, 6, 6], +[414540, 1134, 12, 22], +[414577, 1135, 1, 28], +[414626, 1135, 3, 18], +[414648, 1135, 4, 9], +[414829, 1135, 10, 7], +[414929, 1136, 1, 15], +[415050, 1136, 5, 15], +[415134, 1136, 8, 7], +[415333, 1137, 2, 22], +[415377, 1137, 4, 7], +[415474, 1137, 7, 13], +[415536, 1137, 9, 13], +[415646, 1138, 1, 1], +[415753, 1138, 4, 18], +[415904, 1138, 9, 16], +[415946, 1138, 10, 28], +[416016, 1139, 1, 6], +[416034, 1139, 1, 24], +[416160, 1139, 5, 30], +[416191, 1139, 6, 30], +[416308, 1139, 10, 25], +[416419, 1140, 2, 13], +[416453, 1140, 3, 18], +[416540, 1140, 6, 13], +[416732, 1140, 12, 22], +[416810, 1141, 3, 10], +[416995, 1141, 9, 11], +[417001, 1141, 9, 17], +[417102, 1141, 12, 27], +[417277, 1142, 6, 20], +[417312, 1142, 7, 25], +[417317, 1142, 7, 30], +[417412, 1142, 11, 2], +[417518, 1143, 2, 16], +[417523, 1143, 2, 21], +[417690, 1143, 8, 7], +[417841, 1144, 1, 5], +[417854, 1144, 1, 18], +[417984, 1144, 5, 27], +[418036, 1144, 7, 18], +[418054, 1144, 8, 5], +[418148, 1144, 11, 7], +[418331, 1145, 5, 9], +[418381, 1145, 6, 28], +[418563, 1145, 12, 27], +[418641, 1146, 3, 15], +[418806, 1146, 8, 27], +[418849, 1146, 10, 9], +[418864, 1146, 10, 24], +[419037, 1147, 4, 15], +[419132, 1147, 7, 19], +[419290, 1147, 12, 24], +[419374, 1148, 3, 17], +[419413, 1148, 4, 25], +[419457, 1148, 6, 8], +[419487, 1148, 7, 8], +[419645, 1148, 12, 13], +[419792, 1149, 5, 9], +[419873, 1149, 7, 29], +[419968, 1149, 11, 1], +[419991, 1149, 11, 24], +[420104, 1150, 3, 17], +[420173, 1150, 5, 25], +[420347, 1150, 11, 15], +[420394, 1151, 1, 1], +[420549, 1151, 6, 5], +[420600, 1151, 7, 26], +[420646, 1151, 9, 10], +[420726, 1151, 11, 29], +[420891, 1152, 5, 12], +[421025, 1152, 9, 23], +[421199, 1153, 3, 16], +[421201, 1153, 3, 18], +[421279, 1153, 6, 4], +[421316, 1153, 7, 11], +[421460, 1153, 12, 2], +[421508, 1154, 1, 19], +[421562, 1154, 3, 14], +[421607, 1154, 4, 28], +[421774, 1154, 10, 12], +[421776, 1154, 10, 14], +[421899, 1155, 2, 14], +[421955, 1155, 4, 11], +[422006, 1155, 6, 1], +[422200, 1155, 12, 12], +[422215, 1155, 12, 27], +[422345, 1156, 5, 5], +[422463, 1156, 8, 31], +[422628, 1157, 2, 12], +[422741, 1157, 6, 5], +[422921, 1157, 12, 2], +[423079, 1158, 5, 9], +[423256, 1158, 11, 2], +[423418, 1159, 4, 13], +[423565, 1159, 9, 7], +[423677, 1159, 12, 28], +[423691, 1160, 1, 11], +[423818, 1160, 5, 17], +[423850, 1160, 6, 18], +[424013, 1160, 11, 28], +[424044, 1160, 12, 29], +[424064, 1161, 1, 18], +[424194, 1161, 5, 28], +[424314, 1161, 9, 25], +[424427, 1162, 1, 16], +[424431, 1162, 1, 20], +[424631, 1162, 8, 8], +[424681, 1162, 9, 27], +[424757, 1162, 12, 12], +[424929, 1163, 6, 2], +[424980, 1163, 7, 23], +[425155, 1164, 1, 14], +[425337, 1164, 7, 14], +[425454, 1164, 11, 8], +[425464, 1164, 11, 18], +[425494, 1164, 12, 18], +[425690, 1165, 7, 2], +[425875, 1166, 1, 3], +[426058, 1166, 7, 5], +[426226, 1166, 12, 20], +[426386, 1167, 5, 29], +[426572, 1167, 12, 1], +[426603, 1168, 1, 1], +[426706, 1168, 4, 13], +[426849, 1168, 9, 3], +[426942, 1168, 12, 5], +[426992, 1169, 1, 24], +[427125, 1169, 6, 6], +[427152, 1169, 7, 3], +[427350, 1170, 1, 17], +[427402, 1170, 3, 10], +[427537, 1170, 7, 23], +[427678, 1170, 12, 11], +[427686, 1170, 12, 19], +[427842, 1171, 5, 24], +[427929, 1171, 8, 19], +[428115, 1172, 2, 21], +[428287, 1172, 8, 11], +[428378, 1172, 11, 10], +[428427, 1172, 12, 29], +[428542, 1173, 4, 23], +[428551, 1173, 5, 2], +[428687, 1173, 9, 15], +[428843, 1174, 2, 18], +[428922, 1174, 5, 8], +[428960, 1174, 6, 15], +[429052, 1174, 9, 15], +[429082, 1174, 10, 15], +[429247, 1175, 3, 29], +[429391, 1175, 8, 20], +[429554, 1176, 1, 30], +[429732, 1176, 7, 26], +[429930, 1177, 2, 9], +[429974, 1177, 3, 25], +[430004, 1177, 4, 24], +[430022, 1177, 5, 12], +[430044, 1177, 6, 3], +[430122, 1177, 8, 20], +[430277, 1178, 1, 22], +[430333, 1178, 3, 19], +[430392, 1178, 5, 17], +[430403, 1178, 5, 28], +[430521, 1178, 9, 23], +[430627, 1179, 1, 7], +[430703, 1179, 3, 24], +[430734, 1179, 4, 24], +[430771, 1179, 5, 31], +[430884, 1179, 9, 21], +[430947, 1179, 11, 23], +[431015, 1180, 1, 30], +[431075, 1180, 3, 30], +[431194, 1180, 7, 27], +[431369, 1181, 1, 18], +[431407, 1181, 2, 25], +[431503, 1181, 6, 1], +[431649, 1181, 10, 25], +[431778, 1182, 3, 3], +[431845, 1182, 5, 9], +[431983, 1182, 9, 24], +[432093, 1183, 1, 12], +[432234, 1183, 6, 2], +[432269, 1183, 7, 7], +[432461, 1184, 1, 15], +[432614, 1184, 6, 16], +[432741, 1184, 10, 21], +[432934, 1185, 5, 2], +[433049, 1185, 8, 25], +[433233, 1186, 2, 25], +[433267, 1186, 3, 31], +[433358, 1186, 6, 30], +[433557, 1187, 1, 15], +[433754, 1187, 7, 31], +[433914, 1188, 1, 7], +[434104, 1188, 7, 15], +[434134, 1188, 8, 14], +[434164, 1188, 9, 13], +[434267, 1188, 12, 25], +[434402, 1189, 5, 9], +[434601, 1189, 11, 24], +[434694, 1190, 2, 25], +[434700, 1190, 3, 3], +[434841, 1190, 7, 22], +[435020, 1191, 1, 17], +[435117, 1191, 4, 24], +[435166, 1191, 6, 12], +[435325, 1191, 11, 18], +[435400, 1192, 2, 1], +[435509, 1192, 5, 20], +[435679, 1192, 11, 6], +[435865, 1193, 5, 11], +[436063, 1193, 11, 25], +[436131, 1194, 2, 1], +[436300, 1194, 7, 20], +[436326, 1194, 8, 15], +[436487, 1195, 1, 23], +[436687, 1195, 8, 11], +[436736, 1195, 9, 29], +[436919, 1196, 3, 30], +[437009, 1196, 6, 28], +[437178, 1196, 12, 14], +[437353, 1197, 6, 7], +[437379, 1197, 7, 3], +[437489, 1197, 10, 21], +[437492, 1197, 10, 24], +[437512, 1197, 11, 13], +[437562, 1198, 1, 2], +[437758, 1198, 7, 17], +[437866, 1198, 11, 2], +[437985, 1199, 3, 1], +[438078, 1199, 6, 2], +[438157, 1199, 8, 20], +[438180, 1199, 9, 12], +[438351, 1200, 3, 1], +[438424, 1200, 5, 13], +[438618, 1200, 11, 23], +[438657, 1201, 1, 1], +[438812, 1201, 6, 5], +[438991, 1201, 12, 1], +[439057, 1202, 2, 5], +[439059, 1202, 2, 7], +[439098, 1202, 3, 18], +[439286, 1202, 9, 22], +[439370, 1202, 12, 15], +[439504, 1203, 4, 28], +[439569, 1203, 7, 2], +[439684, 1203, 10, 25], +[439801, 1204, 2, 19], +[439856, 1204, 4, 14], +[439950, 1204, 7, 17], +[440002, 1204, 9, 7], +[440034, 1204, 10, 9], +[440060, 1204, 11, 4], +[440078, 1204, 11, 22], +[440150, 1205, 2, 2], +[440153, 1205, 2, 5], +[440350, 1205, 8, 21], +[440488, 1206, 1, 6], +[440605, 1206, 5, 3], +[440658, 1206, 6, 25], +[440683, 1206, 7, 20], +[440776, 1206, 10, 21], +[440934, 1207, 3, 28], +[441118, 1207, 9, 28], +[441145, 1207, 10, 25], +[441297, 1208, 3, 25], +[441479, 1208, 9, 23], +[441527, 1208, 11, 10], +[441689, 1209, 4, 21], +[441738, 1209, 6, 9], +[441746, 1209, 6, 17], +[441900, 1209, 11, 18], +[442094, 1210, 5, 31], +[442259, 1210, 11, 12], +[442418, 1211, 4, 20], +[442555, 1211, 9, 4], +[442616, 1211, 11, 4], +[442787, 1212, 4, 23], +[442792, 1212, 4, 28], +[442903, 1212, 8, 17], +[442921, 1212, 9, 4], +[442988, 1212, 11, 10], +[443143, 1213, 4, 14], +[443158, 1213, 4, 29], +[443343, 1213, 10, 31], +[443521, 1214, 4, 27], +[443637, 1214, 8, 21], +[443827, 1215, 2, 27], +[443918, 1215, 5, 29], +[443938, 1215, 6, 18], +[443989, 1215, 8, 8], +[444161, 1216, 1, 27], +[444209, 1216, 3, 15], +[444213, 1216, 3, 19], +[444308, 1216, 6, 22], +[444348, 1216, 8, 1], +[444442, 1216, 11, 3], +[444498, 1216, 12, 29], +[444677, 1217, 6, 26], +[444852, 1217, 12, 18], +[445012, 1218, 5, 27], +[445020, 1218, 6, 4], +[445173, 1218, 11, 4], +[445242, 1219, 1, 12], +[445377, 1219, 5, 27], +[445476, 1219, 9, 3], +[445545, 1219, 11, 11], +[445669, 1220, 3, 14], +[445695, 1220, 4, 9], +[445708, 1220, 4, 22], +[445809, 1220, 8, 1], +[445814, 1220, 8, 6], +[445967, 1221, 1, 6], +[445973, 1221, 1, 12], +[446099, 1221, 5, 18], +[446254, 1221, 10, 20], +[446355, 1222, 1, 29], +[446464, 1222, 5, 18], +[446602, 1222, 10, 3], +[446727, 1223, 2, 5], +[446812, 1223, 5, 1], +[446898, 1223, 7, 26], +[447024, 1223, 11, 29], +[447084, 1224, 1, 28], +[447254, 1224, 7, 16], +[447365, 1224, 11, 4], +[447475, 1225, 2, 22], +[447668, 1225, 9, 3], +[447865, 1226, 3, 19], +[447904, 1226, 4, 27], +[448059, 1226, 9, 29], +[448210, 1227, 2, 27], +[448211, 1227, 2, 28], +[448280, 1227, 5, 8], +[448353, 1227, 7, 20], +[448529, 1228, 1, 12], +[448558, 1228, 2, 10], +[448695, 1228, 6, 26], +[448719, 1228, 7, 20], +[448772, 1228, 9, 11], +[448773, 1228, 9, 12], +[448923, 1229, 2, 9], +[449085, 1229, 7, 21], +[449247, 1229, 12, 30], +[449386, 1230, 5, 18], +[449483, 1230, 8, 23], +[449538, 1230, 10, 17], +[449645, 1231, 2, 1], +[449686, 1231, 3, 14], +[449794, 1231, 6, 30], +[449994, 1232, 1, 16], +[450139, 1232, 6, 9], +[450155, 1232, 6, 25], +[450286, 1232, 11, 3], +[450406, 1233, 3, 3], +[450419, 1233, 3, 16], +[450617, 1233, 9, 30], +[450744, 1234, 2, 4], +[450891, 1234, 7, 1], +[451088, 1235, 1, 14], +[451186, 1235, 4, 22], +[451356, 1235, 10, 9], +[451447, 1236, 1, 8], +[451566, 1236, 5, 6], +[451642, 1236, 7, 21], +[451744, 1236, 10, 31], +[451874, 1237, 3, 10], +[451892, 1237, 3, 28], +[451994, 1237, 7, 8], +[452148, 1237, 12, 9], +[452219, 1238, 2, 18], +[452254, 1238, 3, 25], +[452374, 1238, 7, 23], +[452393, 1238, 8, 11], +[452509, 1238, 12, 5], +[452569, 1239, 2, 3], +[452721, 1239, 7, 5], +[452902, 1240, 1, 2], +[452964, 1240, 3, 4], +[452971, 1240, 3, 11], +[453150, 1240, 9, 6], +[453326, 1241, 3, 1], +[453514, 1241, 9, 5], +[453634, 1242, 1, 3], +[453829, 1242, 7, 17], +[453900, 1242, 9, 26], +[454044, 1243, 2, 17], +[454126, 1243, 5, 10], +[454129, 1243, 5, 13], +[454222, 1243, 8, 14], +[454326, 1243, 11, 26], +[454524, 1244, 6, 11], +[454536, 1244, 6, 23], +[454680, 1244, 11, 14], +[454829, 1245, 4, 12], +[454875, 1245, 5, 28], +[454974, 1245, 9, 4], +[454985, 1245, 9, 15], +[455148, 1246, 2, 25], +[455192, 1246, 4, 10], +[455266, 1246, 6, 23], +[455289, 1246, 7, 16], +[455291, 1246, 7, 18], +[455398, 1246, 11, 2], +[455529, 1247, 3, 13], +[455614, 1247, 6, 6], +[455647, 1247, 7, 9], +[455685, 1247, 8, 16], +[455794, 1247, 12, 3], +[455870, 1248, 2, 17], +[455919, 1248, 4, 6], +[456077, 1248, 9, 11], +[456251, 1249, 3, 4], +[456308, 1249, 4, 30], +[456489, 1249, 10, 28], +[456519, 1249, 11, 27], +[456608, 1250, 2, 24], +[456647, 1250, 4, 4], +[456810, 1250, 9, 14], +[456865, 1250, 11, 8], +[456995, 1251, 3, 18], +[457006, 1251, 3, 29], +[457202, 1251, 10, 11], +[457265, 1251, 12, 13], +[457308, 1252, 1, 25], +[457477, 1252, 7, 12], +[457504, 1252, 8, 8], +[457593, 1252, 11, 5], +[457688, 1253, 2, 8], +[457707, 1253, 2, 27], +[457738, 1253, 3, 30], +[457793, 1253, 5, 24], +[457960, 1253, 11, 7], +[457962, 1253, 11, 9], +[458069, 1254, 2, 24], +[458115, 1254, 4, 11], +[458158, 1254, 5, 24], +[458201, 1254, 7, 6], +[458205, 1254, 7, 10], +[458325, 1254, 11, 7], +[458503, 1255, 5, 4], +[458543, 1255, 6, 13], +[458703, 1255, 11, 20], +[458841, 1256, 4, 6], +[459027, 1256, 10, 9], +[459111, 1257, 1, 1], +[459271, 1257, 6, 10], +[459456, 1257, 12, 12], +[459473, 1257, 12, 29], +[459534, 1258, 2, 28], +[459698, 1258, 8, 11], +[459782, 1258, 11, 3], +[459831, 1258, 12, 22], +[459921, 1259, 3, 22], +[460083, 1259, 8, 31], +[460102, 1259, 9, 19], +[460256, 1260, 2, 20], +[460295, 1260, 3, 30], +[460446, 1260, 8, 28], +[460461, 1260, 9, 12], +[460469, 1260, 9, 20], +[460474, 1260, 9, 25], +[460628, 1261, 2, 26], +[460677, 1261, 4, 16], +[460687, 1261, 4, 26], +[460690, 1261, 4, 29], +[460722, 1261, 5, 31], +[460915, 1261, 12, 10], +[461062, 1262, 5, 6], +[461090, 1262, 6, 3], +[461171, 1262, 8, 23], +[461196, 1262, 9, 17], +[461255, 1262, 11, 15], +[461402, 1263, 4, 11], +[461563, 1263, 9, 19], +[461711, 1264, 2, 14], +[461846, 1264, 6, 28], +[461945, 1264, 10, 5], +[462137, 1265, 4, 15], +[462192, 1265, 6, 9], +[462266, 1265, 8, 22], +[462320, 1265, 10, 15], +[462482, 1266, 3, 26], +[462500, 1266, 4, 13], +[462695, 1266, 10, 25], +[462853, 1267, 4, 1], +[462981, 1267, 8, 7], +[463181, 1268, 2, 23], +[463340, 1268, 7, 31], +[463434, 1268, 11, 2], +[463561, 1269, 3, 9], +[463734, 1269, 8, 29], +[463925, 1270, 3, 8], +[463951, 1270, 4, 3], +[464104, 1270, 9, 3], +[464201, 1270, 12, 9], +[464303, 1271, 3, 21], +[464476, 1271, 9, 10], +[464643, 1272, 2, 24], +[464834, 1272, 9, 2], +[464990, 1273, 2, 5], +[465130, 1273, 6, 25], +[465315, 1273, 12, 27], +[465350, 1274, 1, 31], +[465437, 1274, 4, 28], +[465482, 1274, 6, 12], +[465557, 1274, 8, 26], +[465735, 1275, 2, 20], +[465935, 1275, 9, 8], +[466005, 1275, 11, 17], +[466185, 1276, 5, 15], +[466289, 1276, 8, 27], +[466345, 1276, 10, 22], +[466470, 1277, 2, 24], +[466561, 1277, 5, 26], +[466680, 1277, 9, 22], +[466850, 1278, 3, 11], +[466958, 1278, 6, 27], +[467106, 1278, 11, 22], +[467113, 1278, 11, 29], +[467187, 1279, 2, 11], +[467346, 1279, 7, 20], +[467508, 1279, 12, 29], +[467540, 1280, 1, 30], +[467689, 1280, 6, 27], +[467803, 1280, 10, 19], +[467932, 1281, 2, 25], +[467953, 1281, 3, 18], +[468028, 1281, 6, 1], +[468224, 1281, 12, 14], +[468393, 1282, 6, 1], +[468488, 1282, 9, 4], +[468504, 1282, 9, 20], +[468551, 1282, 11, 6], +[468631, 1283, 1, 25], +[468702, 1283, 4, 6], +[468877, 1283, 9, 28], +[468982, 1284, 1, 11], +[469141, 1284, 6, 18], +[469150, 1284, 6, 27], +[469216, 1284, 9, 1], +[469284, 1284, 11, 8], +[469471, 1285, 5, 14], +[469603, 1285, 9, 23], +[469630, 1285, 10, 20], +[469671, 1285, 11, 30], +[469863, 1286, 6, 10], +[469903, 1286, 7, 20], +[470035, 1286, 11, 29], +[470222, 1287, 6, 4], +[470330, 1287, 9, 20], +[470488, 1288, 2, 25], +[470657, 1288, 8, 12], +[470775, 1288, 12, 8], +[470919, 1289, 5, 1], +[470950, 1289, 6, 1], +[470978, 1289, 6, 29], +[471032, 1289, 8, 22], +[471186, 1290, 1, 23], +[471260, 1290, 4, 7], +[471459, 1290, 10, 23], +[471630, 1291, 4, 12], +[471778, 1291, 9, 7], +[471977, 1292, 3, 24], +[472167, 1292, 9, 30], +[472269, 1293, 1, 10], +[472378, 1293, 4, 29], +[472482, 1293, 8, 11], +[472620, 1293, 12, 27], +[472640, 1294, 1, 16], +[472822, 1294, 7, 17], +[472840, 1294, 8, 4], +[472994, 1295, 1, 5], +[473081, 1295, 4, 2], +[473159, 1295, 6, 19], +[473214, 1295, 8, 13], +[473309, 1295, 11, 16], +[473486, 1296, 5, 11], +[473657, 1296, 10, 29], +[473682, 1296, 11, 23], +[473825, 1297, 4, 15], +[473961, 1297, 8, 29], +[474108, 1298, 1, 23], +[474193, 1298, 4, 18], +[474243, 1298, 6, 7], +[474279, 1298, 7, 13], +[474299, 1298, 8, 2], +[474459, 1299, 1, 9], +[474525, 1299, 3, 16], +[474685, 1299, 8, 23], +[474694, 1299, 9, 1], +[474742, 1299, 10, 19], +[474854, 1300, 2, 8], +[474944, 1300, 5, 9], +[475070, 1300, 9, 12], +[475254, 1301, 3, 15], +[475441, 1301, 9, 18], +[475573, 1302, 1, 28], +[475749, 1302, 7, 23], +[475935, 1303, 1, 25], +[476007, 1303, 4, 7], +[476162, 1303, 9, 9], +[476174, 1303, 9, 21], +[476357, 1304, 3, 22], +[476539, 1304, 9, 20], +[476609, 1304, 11, 29], +[476703, 1305, 3, 3], +[476815, 1305, 6, 23], +[476990, 1305, 12, 15], +[477007, 1306, 1, 1], +[477144, 1306, 5, 18], +[477190, 1306, 7, 3], +[477375, 1307, 1, 4], +[477475, 1307, 4, 14], +[477498, 1307, 5, 7], +[477544, 1307, 6, 22], +[477656, 1307, 10, 12], +[477838, 1308, 4, 11], +[478032, 1308, 10, 22], +[478148, 1309, 2, 15], +[478316, 1309, 8, 2], +[478416, 1309, 11, 10], +[478474, 1310, 1, 7], +[478667, 1310, 7, 19], +[478681, 1310, 8, 2], +[478714, 1310, 9, 4], +[478723, 1310, 9, 13], +[478826, 1310, 12, 25], +[478956, 1311, 5, 4], +[479065, 1311, 8, 21], +[479226, 1312, 1, 29], +[479412, 1312, 8, 2], +[479552, 1312, 12, 20], +[479679, 1313, 4, 26], +[479786, 1313, 8, 11], +[479834, 1313, 9, 28], +[480005, 1314, 3, 18], +[480055, 1314, 5, 7], +[480143, 1314, 8, 3], +[480278, 1314, 12, 16], +[480391, 1315, 4, 8], +[480399, 1315, 4, 16], +[480558, 1315, 9, 22], +[480595, 1315, 10, 29], +[480780, 1316, 5, 1], +[480865, 1316, 7, 25], +[480965, 1316, 11, 2], +[481132, 1317, 4, 18], +[481209, 1317, 7, 4], +[481406, 1318, 1, 17], +[481522, 1318, 5, 13], +[481633, 1318, 9, 1], +[481821, 1319, 3, 8], +[481830, 1319, 3, 17], +[481922, 1319, 6, 17], +[482104, 1319, 12, 16], +[482238, 1320, 4, 28], +[482405, 1320, 10, 12], +[482522, 1321, 2, 6], +[482575, 1321, 3, 31], +[482693, 1321, 7, 27], +[482734, 1321, 9, 6], +[482870, 1322, 1, 20], +[482956, 1322, 4, 16], +[483063, 1322, 8, 1], +[483174, 1322, 11, 20], +[483351, 1323, 5, 16], +[483394, 1323, 6, 28], +[483415, 1323, 7, 19], +[483579, 1323, 12, 30], +[483611, 1324, 1, 31], +[483699, 1324, 4, 28], +[483741, 1324, 6, 9], +[483922, 1324, 12, 7], +[483996, 1325, 2, 19], +[484196, 1325, 9, 7], +[484383, 1326, 3, 13], +[484430, 1326, 4, 29], +[484448, 1326, 5, 17], +[484607, 1326, 10, 23], +[484799, 1327, 5, 3], +[484937, 1327, 9, 18], +[485001, 1327, 11, 21], +[485194, 1328, 6, 1], +[485199, 1328, 6, 6], +[485226, 1328, 7, 3], +[485279, 1328, 8, 25], +[485427, 1329, 1, 20], +[485611, 1329, 7, 23], +[485622, 1329, 8, 3], +[485668, 1329, 9, 18], +[485681, 1329, 10, 1], +[485729, 1329, 11, 18], +[485873, 1330, 4, 11], +[486014, 1330, 8, 30], +[486127, 1330, 12, 21], +[486307, 1331, 6, 19], +[486415, 1331, 10, 5], +[486515, 1332, 1, 13], +[486700, 1332, 7, 16], +[486717, 1332, 8, 2], +[486726, 1332, 8, 11], +[486891, 1333, 1, 23], +[487034, 1333, 6, 15], +[487055, 1333, 7, 6], +[487148, 1333, 10, 7], +[487334, 1334, 4, 11], +[487404, 1334, 6, 20], +[487432, 1334, 7, 18], +[487446, 1334, 8, 1], +[487618, 1335, 1, 20], +[487741, 1335, 5, 23], +[487925, 1335, 11, 23], +[488107, 1336, 5, 23], +[488298, 1336, 11, 30], +[488307, 1336, 12, 9], +[488321, 1336, 12, 23], +[488430, 1337, 4, 11], +[488517, 1337, 7, 7], +[488651, 1337, 11, 18], +[488770, 1338, 3, 17], +[488904, 1338, 7, 29], +[488927, 1338, 8, 21], +[489121, 1339, 3, 3], +[489200, 1339, 5, 21], +[489233, 1339, 6, 23], +[489306, 1339, 9, 4], +[489436, 1340, 1, 12], +[489567, 1340, 5, 22], +[489706, 1340, 10, 8], +[489728, 1340, 10, 30], +[489733, 1340, 11, 4], +[489891, 1341, 4, 11], +[489944, 1341, 6, 3], +[489951, 1341, 6, 10], +[489990, 1341, 7, 19], +[490066, 1341, 10, 3], +[490226, 1342, 3, 12], +[490232, 1342, 3, 18], +[490398, 1342, 8, 31], +[490531, 1343, 1, 11], +[490685, 1343, 6, 14], +[490869, 1343, 12, 15], +[490988, 1344, 4, 12], +[491150, 1344, 9, 21], +[491181, 1344, 10, 22], +[491218, 1344, 11, 28], +[491228, 1344, 12, 8], +[491242, 1344, 12, 22], +[491386, 1345, 5, 15], +[491421, 1345, 6, 19], +[491520, 1345, 9, 26], +[491653, 1346, 2, 6], +[491765, 1346, 5, 29], +[491911, 1346, 10, 22], +[492055, 1347, 3, 15], +[492237, 1347, 9, 13], +[492376, 1348, 1, 30], +[492496, 1348, 5, 29], +[492601, 1348, 9, 11], +[492799, 1349, 3, 28], +[492802, 1349, 3, 31], +[492926, 1349, 8, 2], +[493022, 1349, 11, 6], +[493169, 1350, 4, 2], +[493237, 1350, 6, 9], +[493417, 1350, 12, 6], +[493425, 1350, 12, 14], +[493580, 1351, 5, 18], +[493693, 1351, 9, 8], +[493783, 1351, 12, 7], +[493856, 1352, 2, 18], +[493922, 1352, 4, 24], +[494108, 1352, 10, 27], +[494284, 1353, 4, 21], +[494381, 1353, 7, 27], +[494430, 1353, 9, 14], +[494536, 1353, 12, 29], +[494640, 1354, 4, 12], +[494785, 1354, 9, 4], +[494938, 1355, 2, 4], +[494976, 1355, 3, 14], +[495142, 1355, 8, 27], +[495267, 1355, 12, 30], +[495452, 1356, 7, 2], +[495575, 1356, 11, 2], +[495637, 1357, 1, 3], +[495789, 1357, 6, 4], +[495848, 1357, 8, 2], +[495853, 1357, 8, 7], +[495952, 1357, 11, 14], +[496004, 1358, 1, 5], +[496137, 1358, 5, 18], +[496155, 1358, 6, 5], +[496228, 1358, 8, 17], +[496373, 1359, 1, 9], +[496438, 1359, 3, 15], +[496630, 1359, 9, 23], +[496694, 1359, 11, 26], +[496820, 1360, 3, 31], +[497001, 1360, 9, 28], +[497065, 1360, 12, 1], +[497242, 1361, 5, 27], +[497441, 1361, 12, 12], +[497639, 1362, 6, 28], +[497742, 1362, 10, 9], +[497788, 1362, 11, 24], +[497960, 1363, 5, 15], +[498037, 1363, 7, 31], +[498152, 1363, 11, 23], +[498187, 1363, 12, 28], +[498195, 1364, 1, 5], +[498205, 1364, 1, 15], +[498229, 1364, 2, 8], +[498371, 1364, 6, 29], +[498466, 1364, 10, 2], +[498568, 1365, 1, 12], +[498580, 1365, 1, 24], +[498771, 1365, 8, 3], +[498782, 1365, 8, 14], +[498942, 1366, 1, 21], +[499100, 1366, 6, 28], +[499199, 1366, 10, 5], +[499258, 1366, 12, 3], +[499417, 1367, 5, 11], +[499521, 1367, 8, 23], +[499528, 1367, 8, 30], +[499640, 1367, 12, 20], +[499645, 1367, 12, 25], +[499698, 1368, 2, 16], +[499814, 1368, 6, 11], +[499970, 1368, 11, 14], +[500016, 1368, 12, 30], +[500065, 1369, 2, 17], +[500231, 1369, 8, 2], +[500286, 1369, 9, 26], +[500404, 1370, 1, 22], +[500486, 1370, 4, 14], +[500667, 1370, 10, 12], +[500798, 1371, 2, 20], +[500824, 1371, 3, 18], +[500986, 1371, 8, 27], +[501151, 1372, 2, 8], +[501323, 1372, 7, 29], +[501496, 1373, 1, 18], +[501580, 1373, 4, 12], +[501684, 1373, 7, 25], +[501764, 1373, 10, 13], +[501810, 1373, 11, 28], +[501893, 1374, 2, 19], +[501954, 1374, 4, 21], +[502011, 1374, 6, 17], +[502101, 1374, 9, 15], +[502110, 1374, 9, 24], +[502163, 1374, 11, 16], +[502317, 1375, 4, 19], +[502496, 1375, 10, 15], +[502550, 1375, 12, 8], +[502570, 1375, 12, 28], +[502767, 1376, 7, 12], +[502944, 1377, 1, 5], +[503082, 1377, 5, 23], +[503244, 1377, 11, 1], +[503401, 1378, 4, 7], +[503587, 1378, 10, 10], +[503767, 1379, 4, 8], +[503909, 1379, 8, 28], +[504060, 1380, 1, 26], +[504136, 1380, 4, 11], +[504280, 1380, 9, 2], +[504347, 1380, 11, 8], +[504501, 1381, 4, 11], +[504590, 1381, 7, 9], +[504643, 1381, 8, 31], +[504645, 1381, 9, 2], +[504770, 1382, 1, 5], +[504954, 1382, 7, 8], +[505143, 1383, 1, 13], +[505166, 1383, 2, 5], +[505253, 1383, 5, 3], +[505282, 1383, 6, 1], +[505415, 1383, 10, 12], +[505521, 1384, 1, 26], +[505719, 1384, 8, 11], +[505888, 1385, 1, 27], +[506078, 1385, 8, 5], +[506089, 1385, 8, 16], +[506282, 1386, 2, 25], +[506346, 1386, 4, 30], +[506413, 1386, 7, 6], +[506562, 1386, 12, 2], +[506741, 1387, 5, 30], +[506835, 1387, 9, 1], +[506919, 1387, 11, 24], +[506960, 1388, 1, 4], +[507060, 1388, 4, 13], +[507225, 1388, 9, 25], +[507289, 1388, 11, 28], +[507446, 1389, 5, 4], +[507503, 1389, 6, 30], +[507609, 1389, 10, 14], +[507634, 1389, 11, 8], +[507783, 1390, 4, 6], +[507789, 1390, 4, 12], +[507982, 1390, 10, 22], +[508101, 1391, 2, 18], +[508203, 1391, 5, 31], +[508270, 1391, 8, 6], +[508326, 1391, 10, 1], +[508449, 1392, 2, 1], +[508520, 1392, 4, 12], +[508695, 1392, 10, 4], +[508728, 1392, 11, 6], +[508909, 1393, 5, 6], +[509040, 1393, 9, 14], +[509176, 1394, 1, 28], +[509178, 1394, 1, 30], +[509216, 1394, 3, 9], +[509306, 1394, 6, 7], +[509310, 1394, 6, 11], +[509482, 1394, 11, 30], +[509636, 1395, 5, 3], +[509788, 1395, 10, 2], +[509804, 1395, 10, 18], +[509976, 1396, 4, 7], +[510054, 1396, 6, 24], +[510139, 1396, 9, 17], +[510316, 1397, 3, 13], +[510336, 1397, 4, 2], +[510348, 1397, 4, 14], +[510527, 1397, 10, 10], +[510613, 1398, 1, 4], +[510777, 1398, 6, 17], +[510956, 1398, 12, 13], +[510990, 1399, 1, 16], +[511123, 1399, 5, 29], +[511247, 1399, 9, 30], +[511308, 1399, 11, 30], +[511369, 1400, 1, 30], +[511546, 1400, 7, 26], +[511609, 1400, 9, 27], +[511702, 1400, 12, 29], +[511793, 1401, 3, 30], +[511854, 1401, 5, 30], +[511878, 1401, 6, 23], +[511944, 1401, 8, 28], +[512130, 1402, 3, 2], +[512205, 1402, 5, 16], +[512354, 1402, 10, 12], +[512502, 1403, 3, 9], +[512663, 1403, 8, 17], +[512819, 1404, 1, 20], +[512875, 1404, 3, 16], +[512921, 1404, 5, 1], +[513118, 1404, 11, 14], +[513175, 1405, 1, 10], +[513227, 1405, 3, 3], +[513384, 1405, 8, 7], +[513555, 1406, 1, 25], +[513623, 1406, 4, 3], +[513653, 1406, 5, 3], +[513709, 1406, 6, 28], +[513885, 1406, 12, 21], +[514081, 1407, 7, 5], +[514173, 1407, 10, 5], +[514320, 1408, 2, 29], +[514413, 1408, 6, 1], +[514603, 1408, 12, 8], +[514638, 1409, 1, 12], +[514709, 1409, 3, 24], +[514735, 1409, 4, 19], +[514863, 1409, 8, 25], +[514901, 1409, 10, 2], +[515000, 1410, 1, 9], +[515026, 1410, 2, 4], +[515092, 1410, 4, 11], +[515140, 1410, 5, 29], +[515231, 1410, 8, 28], +[515311, 1410, 11, 16], +[515368, 1411, 1, 12], +[515408, 1411, 2, 21], +[515551, 1411, 7, 14], +[515624, 1411, 9, 25], +[515700, 1411, 12, 10], +[515756, 1412, 2, 4], +[515802, 1412, 3, 21], +[515943, 1412, 8, 9], +[516065, 1412, 12, 9], +[516249, 1413, 6, 11], +[516402, 1413, 11, 11], +[516430, 1413, 12, 9], +[516511, 1414, 2, 28], +[516668, 1414, 8, 4], +[516682, 1414, 8, 18], +[516850, 1415, 2, 2], +[516875, 1415, 2, 27], +[516913, 1415, 4, 6], +[517096, 1415, 10, 6], +[517278, 1416, 4, 5], +[517314, 1416, 5, 11], +[517388, 1416, 7, 24], +[517419, 1416, 8, 24], +[517556, 1417, 1, 8], +[517676, 1417, 5, 8], +[517844, 1417, 10, 23], +[517917, 1418, 1, 4], +[518013, 1418, 4, 10], +[518094, 1418, 6, 30], +[518156, 1418, 8, 31], +[518185, 1418, 9, 29], +[518252, 1418, 12, 5], +[518388, 1419, 4, 20], +[518390, 1419, 4, 22], +[518508, 1419, 8, 18], +[518651, 1420, 1, 8], +[518695, 1420, 2, 21], +[518841, 1420, 7, 16], +[518852, 1420, 7, 27], +[519041, 1421, 2, 1], +[519052, 1421, 2, 12], +[519118, 1421, 4, 19], +[519313, 1421, 10, 31], +[519438, 1422, 3, 5], +[519513, 1422, 5, 19], +[519602, 1422, 8, 16], +[519650, 1422, 10, 3], +[519817, 1423, 3, 19], +[519892, 1423, 6, 2], +[520047, 1423, 11, 4], +[520177, 1424, 3, 13], +[520178, 1424, 3, 14], +[520293, 1424, 7, 7], +[520318, 1424, 8, 1], +[520342, 1424, 8, 25], +[520385, 1424, 10, 7], +[520555, 1425, 3, 26], +[520669, 1425, 7, 18], +[520846, 1426, 1, 11], +[520921, 1426, 3, 27], +[521020, 1426, 7, 4], +[521182, 1426, 12, 13], +[521244, 1427, 2, 13], +[521354, 1427, 6, 3], +[521439, 1427, 8, 27], +[521506, 1427, 11, 2], +[521527, 1427, 11, 23], +[521585, 1428, 1, 20], +[521691, 1428, 5, 5], +[521780, 1428, 8, 2], +[521941, 1429, 1, 10], +[521984, 1429, 2, 22], +[522025, 1429, 4, 4], +[522054, 1429, 5, 3], +[522119, 1429, 7, 7], +[522294, 1429, 12, 29], +[522477, 1430, 6, 30], +[522614, 1430, 11, 14], +[522763, 1431, 4, 12], +[522921, 1431, 9, 17], +[523032, 1432, 1, 6], +[523074, 1432, 2, 17], +[523247, 1432, 8, 8], +[523422, 1433, 1, 30], +[523474, 1433, 3, 23], +[523565, 1433, 6, 22], +[523600, 1433, 7, 27], +[523633, 1433, 8, 29], +[523666, 1433, 10, 1], +[523768, 1434, 1, 11], +[523939, 1434, 7, 1], +[523979, 1434, 8, 10], +[524053, 1434, 10, 23], +[524133, 1435, 1, 11], +[524297, 1435, 6, 24], +[524354, 1435, 8, 20], +[524478, 1435, 12, 22], +[524504, 1436, 1, 17], +[524534, 1436, 2, 16], +[524661, 1436, 6, 22], +[524718, 1436, 8, 18], +[524837, 1436, 12, 15], +[524874, 1437, 1, 21], +[524889, 1437, 2, 5], +[525011, 1437, 6, 7], +[525069, 1437, 8, 4], +[525222, 1438, 1, 4], +[525252, 1438, 2, 3], +[525420, 1438, 7, 21], +[525569, 1438, 12, 17], +[525585, 1439, 1, 2], +[525614, 1439, 1, 31], +[525799, 1439, 8, 4], +[525920, 1439, 12, 3], +[526008, 1440, 2, 29], +[526117, 1440, 6, 17], +[526175, 1440, 8, 14], +[526328, 1441, 1, 14], +[526365, 1441, 2, 20], +[526441, 1441, 5, 7], +[526590, 1441, 10, 3], +[526679, 1441, 12, 31], +[526789, 1442, 4, 20], +[526938, 1442, 9, 16], +[526956, 1442, 10, 4], +[527084, 1443, 2, 9], +[527096, 1443, 2, 21], +[527135, 1443, 4, 1], +[527257, 1443, 8, 1], +[527452, 1444, 2, 12], +[527506, 1444, 4, 6], +[527574, 1444, 6, 13], +[527593, 1444, 7, 2], +[527768, 1444, 12, 24], +[527869, 1445, 4, 4], +[527961, 1445, 7, 5], +[528126, 1445, 12, 17], +[528168, 1446, 1, 28], +[528272, 1446, 5, 12], +[528412, 1446, 9, 29], +[528572, 1447, 3, 8], +[528576, 1447, 3, 12], +[528712, 1447, 7, 26], +[528866, 1447, 12, 27], +[528896, 1448, 1, 26], +[529060, 1448, 7, 8], +[529249, 1449, 1, 13], +[529265, 1449, 1, 29], +[529391, 1449, 6, 4], +[529504, 1449, 9, 25], +[529596, 1449, 12, 26], +[529682, 1450, 3, 22], +[529850, 1450, 9, 6], +[529913, 1450, 11, 8], +[530019, 1451, 2, 22], +[530177, 1451, 7, 30], +[530213, 1451, 9, 4], +[530318, 1451, 12, 18], +[530424, 1452, 4, 2], +[530498, 1452, 6, 15], +[530656, 1452, 11, 20], +[530854, 1453, 6, 6], +[531009, 1453, 11, 8], +[531176, 1454, 4, 24], +[531217, 1454, 6, 4], +[531275, 1454, 8, 1], +[531323, 1454, 9, 18], +[531337, 1454, 10, 2], +[531356, 1454, 10, 21], +[531501, 1455, 3, 15], +[531671, 1455, 9, 1], +[531791, 1455, 12, 30], +[531793, 1456, 1, 1], +[531873, 1456, 3, 21], +[531894, 1456, 4, 11], +[532018, 1456, 8, 13], +[532056, 1456, 9, 20], +[532192, 1457, 2, 3], +[532220, 1457, 3, 3], +[532319, 1457, 6, 10], +[532450, 1457, 10, 19], +[532560, 1458, 2, 6], +[532567, 1458, 2, 13], +[532616, 1458, 4, 3], +[532744, 1458, 8, 9], +[532928, 1459, 2, 9], +[533128, 1459, 8, 28], +[533285, 1460, 2, 1], +[533325, 1460, 3, 12], +[533396, 1460, 5, 22], +[533508, 1460, 9, 11], +[533522, 1460, 9, 25], +[533668, 1461, 2, 18], +[533778, 1461, 6, 8], +[533793, 1461, 6, 23], +[533874, 1461, 9, 12], +[533913, 1461, 10, 21], +[534090, 1462, 4, 16], +[534217, 1462, 8, 21], +[534354, 1463, 1, 5], +[534409, 1463, 3, 1], +[534563, 1463, 8, 2], +[534697, 1463, 12, 14], +[534875, 1464, 6, 9], +[534993, 1464, 10, 5], +[535144, 1465, 3, 5], +[535300, 1465, 8, 8], +[535457, 1466, 1, 12], +[535483, 1466, 2, 7], +[535554, 1466, 4, 19], +[535655, 1466, 7, 29], +[535730, 1466, 10, 12], +[535821, 1467, 1, 11], +[536013, 1467, 7, 22], +[536157, 1467, 12, 13], +[536271, 1468, 4, 5], +[536440, 1468, 9, 21], +[536567, 1469, 1, 26], +[536748, 1469, 7, 26], +[536825, 1469, 10, 11], +[536973, 1470, 3, 8], +[537039, 1470, 5, 13], +[537185, 1470, 10, 6], +[537380, 1471, 4, 19], +[537545, 1471, 10, 1], +[537715, 1472, 3, 19], +[537854, 1472, 8, 5], +[538019, 1473, 1, 17], +[538077, 1473, 3, 16], +[538117, 1473, 4, 25], +[538205, 1473, 7, 22], +[538401, 1474, 2, 3], +[538595, 1474, 8, 16], +[538794, 1475, 3, 3], +[538951, 1475, 8, 7], +[538956, 1475, 8, 12], +[539022, 1475, 10, 17], +[539052, 1475, 11, 16], +[539213, 1476, 4, 25], +[539276, 1476, 6, 27], +[539446, 1476, 12, 14], +[539572, 1477, 4, 19], +[539695, 1477, 8, 20], +[539841, 1478, 1, 13], +[539913, 1478, 3, 26], +[540003, 1478, 6, 24], +[540052, 1478, 8, 12], +[540214, 1479, 1, 21], +[540378, 1479, 7, 4], +[540534, 1479, 12, 7], +[540595, 1480, 2, 6], +[540745, 1480, 7, 5], +[540929, 1481, 1, 5], +[540982, 1481, 2, 27], +[541021, 1481, 4, 7], +[541180, 1481, 9, 13], +[541286, 1481, 12, 28], +[541391, 1482, 4, 12], +[541395, 1482, 4, 16], +[541527, 1482, 8, 26], +[541559, 1482, 9, 27], +[541628, 1482, 12, 5], +[541769, 1483, 4, 25], +[541840, 1483, 7, 5], +[542037, 1484, 1, 18], +[542167, 1484, 5, 27], +[542293, 1484, 9, 30], +[542326, 1484, 11, 2], +[542464, 1485, 3, 20], +[542489, 1485, 4, 14], +[542648, 1485, 9, 20], +[542728, 1485, 12, 9], +[542744, 1485, 12, 25], +[542886, 1486, 5, 16], +[542978, 1486, 8, 16], +[543039, 1486, 10, 16], +[543141, 1487, 1, 26], +[543213, 1487, 4, 8], +[543336, 1487, 8, 9], +[543445, 1487, 11, 26], +[543526, 1488, 2, 15], +[543656, 1488, 6, 24], +[543684, 1488, 7, 22], +[543819, 1488, 12, 4], +[543933, 1489, 3, 28], +[543981, 1489, 5, 15], +[544007, 1489, 6, 10], +[544074, 1489, 8, 16], +[544111, 1489, 9, 22], +[544129, 1489, 10, 10], +[544303, 1490, 4, 2], +[544371, 1490, 6, 9], +[544460, 1490, 9, 6], +[544606, 1491, 1, 30], +[544608, 1491, 2, 1], +[544633, 1491, 2, 26], +[544790, 1491, 8, 2], +[544825, 1491, 9, 6], +[545025, 1492, 3, 24], +[545186, 1492, 9, 1], +[545275, 1492, 11, 29], +[545336, 1493, 1, 29], +[545424, 1493, 4, 27], +[545452, 1493, 5, 25], +[545505, 1493, 7, 17], +[545640, 1493, 11, 29], +[545660, 1493, 12, 19], +[545736, 1494, 3, 5], +[545871, 1494, 7, 18], +[546005, 1494, 11, 29], +[546015, 1494, 12, 9], +[546171, 1495, 5, 14], +[546316, 1495, 10, 6], +[546505, 1496, 4, 12], +[546576, 1496, 6, 22], +[546671, 1496, 9, 25], +[546780, 1497, 1, 12], +[546818, 1497, 2, 19], +[546905, 1497, 5, 17], +[546918, 1497, 5, 30], +[546933, 1497, 6, 14], +[547104, 1497, 12, 2], +[547151, 1498, 1, 18], +[547194, 1498, 3, 2], +[547375, 1498, 8, 30], +[547398, 1498, 9, 22], +[547475, 1498, 12, 8], +[547636, 1499, 5, 18], +[547647, 1499, 5, 29], +[547826, 1499, 11, 24], +[547857, 1499, 12, 25], +[547929, 1500, 3, 7], +[548025, 1500, 6, 11], +[548169, 1500, 11, 2], +[548316, 1501, 3, 29], +[548399, 1501, 6, 20], +[548536, 1501, 11, 4], +[548634, 1502, 2, 10], +[548825, 1502, 8, 20], +[548921, 1502, 11, 24], +[548963, 1503, 1, 5], +[549051, 1503, 4, 3], +[549130, 1503, 6, 21], +[549251, 1503, 10, 20], +[549259, 1503, 10, 28], +[549409, 1504, 3, 26], +[549524, 1504, 7, 19], +[549723, 1505, 2, 3], +[549817, 1505, 5, 8], +[549885, 1505, 7, 15], +[550044, 1505, 12, 21], +[550139, 1506, 3, 26], +[550176, 1506, 5, 2], +[550271, 1506, 8, 5], +[550385, 1506, 11, 27], +[550488, 1507, 3, 10], +[550594, 1507, 6, 24], +[550736, 1507, 11, 13], +[550848, 1508, 3, 4], +[550888, 1508, 4, 13], +[551079, 1508, 10, 21], +[551164, 1509, 1, 14], +[551272, 1509, 5, 2], +[551433, 1509, 10, 10], +[551548, 1510, 2, 2], +[551581, 1510, 3, 7], +[551667, 1510, 6, 1], +[551797, 1510, 10, 9], +[551938, 1511, 2, 27], +[551967, 1511, 3, 28], +[552128, 1511, 9, 5], +[552229, 1511, 12, 15], +[552318, 1512, 3, 13], +[552406, 1512, 6, 9], +[552513, 1512, 9, 24], +[552560, 1512, 11, 10], +[552589, 1512, 12, 9], +[552654, 1513, 2, 12], +[552699, 1513, 3, 29], +[552750, 1513, 5, 19], +[552865, 1513, 9, 11], +[552944, 1513, 11, 29], +[552990, 1514, 1, 14], +[553149, 1514, 6, 22], +[553312, 1514, 12, 2], +[553436, 1515, 4, 5], +[553476, 1515, 5, 15], +[553620, 1515, 10, 6], +[553679, 1515, 12, 4], +[553691, 1515, 12, 16], +[553720, 1516, 1, 14], +[553852, 1516, 5, 25], +[553874, 1516, 6, 16], +[553891, 1516, 7, 3], +[553912, 1516, 7, 24], +[554029, 1516, 11, 18], +[554132, 1517, 3, 1], +[554214, 1517, 5, 22], +[554384, 1517, 11, 8], +[554420, 1517, 12, 14], +[554476, 1518, 2, 8], +[554536, 1518, 4, 9], +[554659, 1518, 8, 10], +[554810, 1519, 1, 8], +[554879, 1519, 3, 18], +[555004, 1519, 7, 21], +[555035, 1519, 8, 21], +[555232, 1520, 3, 5], +[555276, 1520, 4, 18], +[555430, 1520, 9, 19], +[555589, 1521, 2, 25], +[555769, 1521, 8, 24], +[555893, 1521, 12, 26], +[555928, 1522, 1, 30], +[555994, 1522, 4, 6], +[556034, 1522, 5, 16], +[556046, 1522, 5, 28], +[556081, 1522, 7, 2], +[556144, 1522, 9, 3], +[556184, 1522, 10, 13], +[556285, 1523, 1, 22], +[556429, 1523, 6, 15], +[556567, 1523, 10, 31], +[556604, 1523, 12, 7], +[556707, 1524, 3, 19], +[556866, 1524, 8, 25], +[556992, 1524, 12, 29], +[557175, 1525, 6, 30], +[557265, 1525, 9, 28], +[557317, 1525, 11, 19], +[557399, 1526, 2, 9], +[557504, 1526, 5, 25], +[557527, 1526, 6, 17], +[557587, 1526, 8, 16], +[557783, 1527, 2, 28], +[557862, 1527, 5, 18], +[557906, 1527, 7, 1], +[558062, 1527, 12, 4], +[558107, 1528, 1, 18], +[558114, 1528, 1, 25], +[558138, 1528, 2, 18], +[558332, 1528, 8, 30], +[558418, 1528, 11, 24], +[558483, 1529, 1, 28], +[558657, 1529, 7, 21], +[558822, 1530, 1, 2], +[558892, 1530, 3, 13], +[559075, 1530, 9, 12], +[559111, 1530, 10, 18], +[559258, 1531, 3, 14], +[559293, 1531, 4, 18], +[559380, 1531, 7, 14], +[559390, 1531, 7, 24], +[559425, 1531, 8, 28], +[559542, 1531, 12, 23], +[559661, 1532, 4, 20], +[559667, 1532, 4, 26], +[559847, 1532, 10, 23], +[559946, 1533, 1, 30], +[560102, 1533, 7, 5], +[560104, 1533, 7, 7], +[560144, 1533, 8, 16], +[560332, 1534, 2, 20], +[560499, 1534, 8, 6], +[560631, 1534, 12, 16], +[560810, 1535, 6, 13], +[560853, 1535, 7, 26], +[560951, 1535, 11, 1], +[561057, 1536, 2, 15], +[561210, 1536, 7, 17], +[561352, 1536, 12, 6], +[561450, 1537, 3, 14], +[561511, 1537, 5, 14], +[561650, 1537, 9, 30], +[561659, 1537, 10, 9], +[561824, 1538, 3, 23], +[561847, 1538, 4, 15], +[562047, 1538, 11, 1], +[562058, 1538, 11, 12], +[562070, 1538, 11, 24], +[562116, 1539, 1, 9], +[562302, 1539, 7, 14], +[562378, 1539, 9, 28], +[562432, 1539, 11, 21], +[562437, 1539, 11, 26], +[562582, 1540, 4, 19], +[562593, 1540, 4, 30], +[562686, 1540, 8, 1], +[562777, 1540, 10, 31], +[562883, 1541, 2, 14], +[562971, 1541, 5, 13], +[563061, 1541, 8, 11], +[563076, 1541, 8, 26], +[563155, 1541, 11, 13], +[563315, 1542, 4, 22], +[563411, 1542, 7, 27], +[563434, 1542, 8, 19], +[563543, 1542, 12, 6], +[563579, 1543, 1, 11], +[563623, 1543, 2, 24], +[563676, 1543, 4, 18], +[563787, 1543, 8, 7], +[563828, 1543, 9, 17], +[563840, 1543, 9, 29], +[564020, 1544, 3, 27], +[564203, 1544, 9, 26], +[564377, 1545, 3, 19], +[564421, 1545, 5, 2], +[564455, 1545, 6, 5], +[564605, 1545, 11, 2], +[564740, 1546, 3, 17], +[564850, 1546, 7, 5], +[565033, 1547, 1, 4], +[565145, 1547, 4, 26], +[565233, 1547, 7, 23], +[565349, 1547, 11, 16], +[565359, 1547, 11, 26], +[565449, 1548, 2, 24], +[565640, 1548, 9, 2], +[565819, 1549, 2, 28], +[565827, 1549, 3, 8], +[565874, 1549, 4, 24], +[566023, 1549, 9, 20], +[566136, 1550, 1, 11], +[566250, 1550, 5, 5], +[566450, 1550, 11, 21], +[566459, 1550, 11, 30], +[566506, 1551, 1, 16], +[566523, 1551, 2, 2], +[566606, 1551, 4, 26], +[566612, 1551, 5, 2], +[566622, 1551, 5, 12], +[566699, 1551, 7, 28], +[566850, 1551, 12, 26], +[567020, 1552, 6, 13], +[567028, 1552, 6, 21], +[567154, 1552, 10, 25], +[567274, 1553, 2, 22], +[567474, 1553, 9, 10], +[567574, 1553, 12, 19], +[567592, 1554, 1, 6], +[567662, 1554, 3, 17], +[567770, 1554, 7, 3], +[567864, 1554, 10, 5], +[567945, 1554, 12, 25], +[567999, 1555, 2, 17], +[568182, 1555, 8, 19], +[568277, 1555, 11, 22], +[568462, 1556, 5, 25], +[568518, 1556, 7, 20], +[568693, 1557, 1, 11], +[568832, 1557, 5, 30], +[568913, 1557, 8, 19], +[569071, 1558, 1, 24], +[569085, 1558, 2, 7], +[569089, 1558, 2, 11], +[569195, 1558, 5, 28], +[569320, 1558, 9, 30], +[569346, 1558, 10, 26], +[569409, 1558, 12, 28], +[569439, 1559, 1, 27], +[569455, 1559, 2, 12], +[569459, 1559, 2, 16], +[569518, 1559, 4, 16], +[569662, 1559, 9, 7], +[569811, 1560, 2, 3], +[569970, 1560, 7, 11], +[570148, 1561, 1, 5], +[570236, 1561, 4, 3], +[570286, 1561, 5, 23], +[570412, 1561, 9, 26], +[570424, 1561, 10, 8], +[570609, 1562, 4, 11], +[570763, 1562, 9, 12], +[570809, 1562, 10, 28], +[570923, 1563, 2, 19], +[571052, 1563, 6, 28], +[571205, 1563, 11, 28], +[571252, 1564, 1, 14], +[571380, 1564, 5, 21], +[571464, 1564, 8, 13], +[571645, 1565, 2, 10], +[571775, 1565, 6, 20], +[571841, 1565, 8, 25], +[571848, 1565, 9, 1], +[571902, 1565, 10, 25], +[572014, 1566, 2, 14], +[572104, 1566, 5, 15], +[572228, 1566, 9, 16], +[572345, 1567, 1, 11], +[572358, 1567, 1, 24], +[572441, 1567, 4, 17], +[572545, 1567, 7, 30], +[572706, 1568, 1, 7], +[572769, 1568, 3, 10], +[572806, 1568, 4, 16], +[572883, 1568, 7, 2], +[572886, 1568, 7, 5], +[573086, 1569, 1, 21], +[573091, 1569, 1, 26], +[573242, 1569, 6, 26], +[573352, 1569, 10, 14], +[573508, 1570, 3, 19], +[573557, 1570, 5, 7], +[573677, 1570, 9, 4], +[573864, 1571, 3, 10], +[573887, 1571, 4, 2], +[573891, 1571, 4, 6], +[574013, 1571, 8, 6], +[574093, 1571, 10, 25], +[574264, 1572, 4, 13], +[574331, 1572, 6, 19], +[574482, 1572, 11, 17], +[574569, 1573, 2, 12], +[574750, 1573, 8, 12], +[574751, 1573, 8, 13], +[574807, 1573, 10, 8], +[574968, 1574, 3, 18], +[575146, 1574, 9, 12], +[575293, 1575, 2, 6], +[575400, 1575, 5, 24], +[575459, 1575, 7, 22], +[575647, 1576, 1, 26], +[575783, 1576, 6, 10], +[575916, 1576, 10, 21], +[575935, 1576, 11, 9], +[576012, 1577, 1, 25], +[576114, 1577, 5, 7], +[576242, 1577, 9, 12], +[576378, 1578, 1, 26], +[576408, 1578, 2, 25], +[576591, 1578, 8, 27], +[576599, 1578, 9, 4], +[576615, 1578, 9, 20], +[576748, 1579, 1, 31], +[576937, 1579, 8, 8], +[577112, 1580, 1, 30], +[577256, 1580, 6, 22], +[577356, 1580, 9, 30], +[577529, 1581, 3, 22], +[577661, 1581, 8, 1], +[577720, 1581, 9, 29], +[577892, 1582, 3, 20], +[578049, 1582, 8, 24], +[578096, 1582, 10, 10], +[578195, 1583, 1, 17], +[578223, 1583, 2, 14], +[578293, 1583, 4, 25], +[578357, 1583, 6, 28], +[578380, 1583, 7, 21], +[578570, 1584, 1, 27], +[578690, 1584, 5, 26], +[578830, 1584, 10, 13], +[578992, 1585, 3, 24], +[579190, 1585, 10, 8], +[579310, 1586, 2, 5], +[579376, 1586, 4, 12], +[579420, 1586, 5, 26], +[579496, 1586, 8, 10], +[579603, 1586, 11, 25], +[579724, 1587, 3, 26], +[579807, 1587, 6, 17], +[579813, 1587, 6, 23], +[580012, 1588, 1, 8], +[580209, 1588, 7, 23], +[580360, 1588, 12, 21], +[580452, 1589, 3, 23], +[580572, 1589, 7, 21], +[580650, 1589, 10, 7], +[580766, 1590, 1, 31], +[580957, 1590, 8, 10], +[581011, 1590, 10, 3], +[581114, 1591, 1, 14], +[581191, 1591, 4, 1], +[581308, 1591, 7, 27], +[581489, 1592, 1, 24], +[581681, 1592, 8, 3], +[581862, 1593, 1, 31], +[581982, 1593, 5, 31], +[582006, 1593, 6, 24], +[582184, 1593, 12, 19], +[582293, 1594, 4, 7], +[582421, 1594, 8, 13], +[582562, 1595, 1, 1], +[582679, 1595, 4, 28], +[582704, 1595, 5, 23], +[582896, 1595, 12, 1], +[583024, 1596, 4, 7], +[583106, 1596, 6, 28], +[583291, 1596, 12, 30], +[583453, 1597, 6, 10], +[583519, 1597, 8, 15], +[583649, 1597, 12, 23], +[583785, 1598, 5, 8], +[583914, 1598, 9, 14], +[584084, 1599, 3, 3], +[584222, 1599, 7, 19], +[584247, 1599, 8, 13], +[584446, 1600, 2, 28], +[584597, 1600, 7, 28], +[584612, 1600, 8, 12], +[584666, 1600, 10, 5], +[584774, 1601, 1, 21], +[584779, 1601, 1, 26], +[584861, 1601, 4, 18], +[584914, 1601, 6, 10], +[585101, 1601, 12, 14], +[585153, 1602, 2, 4], +[585302, 1602, 7, 3], +[585335, 1602, 8, 5], +[585505, 1603, 1, 22], +[585671, 1603, 7, 7], +[585736, 1603, 9, 10], +[585913, 1604, 3, 5], +[585937, 1604, 3, 29], +[585943, 1604, 4, 4], +[586108, 1604, 9, 16], +[586249, 1605, 2, 4], +[586443, 1605, 8, 17], +[586498, 1605, 10, 11], +[586601, 1606, 1, 22], +[586677, 1606, 4, 8], +[586733, 1606, 6, 3], +[586777, 1606, 7, 17], +[586817, 1606, 8, 26], +[586863, 1606, 10, 11], +[586925, 1606, 12, 12], +[586991, 1607, 2, 16], +[587150, 1607, 7, 25], +[587265, 1607, 11, 17], +[587346, 1608, 2, 6], +[587415, 1608, 4, 15], +[587450, 1608, 5, 20], +[587615, 1608, 11, 1], +[587645, 1608, 12, 1], +[587755, 1609, 3, 21], +[587869, 1609, 7, 13], +[588007, 1609, 11, 28], +[588053, 1610, 1, 13], +[588067, 1610, 1, 27], +[588092, 1610, 2, 21], +[588250, 1610, 7, 29], +[588294, 1610, 9, 11], +[588400, 1610, 12, 26], +[588540, 1611, 5, 15], +[588657, 1611, 9, 9], +[588735, 1611, 11, 26], +[588856, 1612, 3, 26], +[588976, 1612, 7, 24], +[589087, 1612, 11, 12], +[589240, 1613, 4, 14], +[589433, 1613, 10, 24], +[589609, 1614, 4, 18], +[589643, 1614, 5, 22], +[589796, 1614, 10, 22], +[589950, 1615, 3, 25], +[590068, 1615, 7, 21], +[590164, 1615, 10, 25], +[590346, 1616, 4, 24], +[590525, 1616, 10, 20], +[590680, 1617, 3, 24], +[590828, 1617, 8, 19], +[590844, 1617, 9, 4], +[590920, 1617, 11, 19], +[591114, 1618, 6, 1], +[591234, 1618, 9, 29], +[591339, 1619, 1, 12], +[591457, 1619, 5, 10], +[591502, 1619, 6, 24], +[591680, 1619, 12, 19], +[591708, 1620, 1, 16], +[591785, 1620, 4, 2], +[591838, 1620, 5, 25], +[591890, 1620, 7, 16], +[592015, 1620, 11, 18], +[592027, 1620, 11, 30], +[592183, 1621, 5, 5], +[592333, 1621, 10, 2], +[592387, 1621, 11, 25], +[592562, 1622, 5, 19], +[592685, 1622, 9, 19], +[592691, 1622, 9, 25], +[592717, 1622, 10, 21], +[592841, 1623, 2, 22], +[592887, 1623, 4, 9], +[592898, 1623, 4, 20], +[592908, 1623, 4, 30], +[592927, 1623, 5, 19], +[593104, 1623, 11, 12], +[593272, 1624, 4, 28], +[593411, 1624, 9, 14], +[593529, 1625, 1, 10], +[593692, 1625, 6, 22], +[593700, 1625, 6, 30], +[593855, 1625, 12, 2], +[594044, 1626, 6, 9], +[594227, 1626, 12, 9], +[594253, 1627, 1, 4], +[594267, 1627, 1, 18], +[594374, 1627, 5, 5], +[594483, 1627, 8, 22], +[594514, 1627, 9, 22], +[594677, 1628, 3, 3], +[594873, 1628, 9, 15], +[595012, 1629, 2, 1], +[595015, 1629, 2, 4], +[595054, 1629, 3, 15], +[595230, 1629, 9, 7], +[595343, 1629, 12, 29], +[595355, 1630, 1, 10], +[595405, 1630, 3, 1], +[595522, 1630, 6, 26], +[595525, 1630, 6, 29], +[595650, 1630, 11, 1], +[595677, 1630, 11, 28], +[595762, 1631, 2, 21], +[595879, 1631, 6, 18], +[596060, 1631, 12, 16], +[596140, 1632, 3, 5], +[596214, 1632, 5, 18], +[596301, 1632, 8, 13], +[596381, 1632, 11, 1], +[596550, 1633, 4, 19], +[596694, 1633, 9, 10], +[596759, 1633, 11, 14], +[596820, 1634, 1, 14], +[597007, 1634, 7, 20], +[597169, 1634, 12, 29], +[597190, 1635, 1, 19], +[597241, 1635, 3, 11], +[597313, 1635, 5, 22], +[597504, 1635, 11, 29], +[597536, 1635, 12, 31], +[597656, 1636, 4, 29], +[597836, 1636, 10, 26], +[597897, 1636, 12, 26], +[597995, 1637, 4, 3], +[598026, 1637, 5, 4], +[598171, 1637, 9, 26], +[598324, 1638, 2, 26], +[598453, 1638, 7, 5], +[598497, 1638, 8, 18], +[598504, 1638, 8, 25], +[598647, 1639, 1, 15], +[598689, 1639, 2, 26], +[598787, 1639, 6, 4], +[598956, 1639, 11, 20], +[599124, 1640, 5, 6], +[599163, 1640, 6, 14], +[599167, 1640, 6, 18], +[599266, 1640, 9, 25], +[599385, 1641, 1, 22], +[599555, 1641, 7, 11], +[599639, 1641, 10, 3], +[599734, 1642, 1, 6], +[599828, 1642, 4, 10], +[600002, 1642, 10, 1], +[600022, 1642, 10, 21], +[600026, 1642, 10, 25], +[600074, 1642, 12, 12], +[600169, 1643, 3, 17], +[600284, 1643, 7, 10], +[600359, 1643, 9, 23], +[600429, 1643, 12, 2], +[600569, 1644, 4, 20], +[600677, 1644, 8, 6], +[600722, 1644, 9, 20], +[600817, 1644, 12, 24], +[600922, 1645, 4, 8], +[600940, 1645, 4, 26], +[600966, 1645, 5, 22], +[601163, 1645, 12, 5], +[601297, 1646, 4, 18], +[601373, 1646, 7, 3], +[601467, 1646, 10, 5], +[601560, 1647, 1, 6], +[601586, 1647, 2, 1], +[601664, 1647, 4, 20], +[601731, 1647, 6, 26], +[601770, 1647, 8, 4], +[601867, 1647, 11, 9], +[602033, 1648, 4, 23], +[602174, 1648, 9, 11], +[602199, 1648, 10, 6], +[602289, 1649, 1, 4], +[602363, 1649, 3, 19], +[602511, 1649, 8, 14], +[602572, 1649, 10, 14], +[602702, 1650, 2, 21], +[602785, 1650, 5, 15], +[602832, 1650, 7, 1], +[602875, 1650, 8, 13], +[603070, 1651, 2, 24], +[603202, 1651, 7, 6], +[603328, 1651, 11, 9], +[603352, 1651, 12, 3], +[603506, 1652, 5, 5], +[603564, 1652, 7, 2], +[603603, 1652, 8, 10], +[603768, 1653, 1, 22], +[603816, 1653, 3, 11], +[603945, 1653, 7, 18], +[604106, 1653, 12, 26], +[604293, 1654, 7, 1], +[604311, 1654, 7, 19], +[604470, 1654, 12, 25], +[604646, 1655, 6, 19], +[604667, 1655, 7, 10], +[604669, 1655, 7, 12], +[604731, 1655, 9, 12], +[604855, 1656, 1, 14], +[604960, 1656, 4, 28], +[605020, 1656, 6, 27], +[605124, 1656, 10, 9], +[605211, 1657, 1, 4], +[605317, 1657, 4, 20], +[605407, 1657, 7, 19], +[605463, 1657, 9, 13], +[605517, 1657, 11, 6], +[605690, 1658, 4, 28], +[605701, 1658, 5, 9], +[605787, 1658, 8, 3], +[605905, 1658, 11, 29], +[605956, 1659, 1, 19], +[606113, 1659, 6, 25], +[606291, 1659, 12, 20], +[606466, 1660, 6, 12], +[606630, 1660, 11, 23], +[606672, 1661, 1, 4], +[606784, 1661, 4, 26], +[606870, 1661, 7, 21], +[606879, 1661, 7, 30], +[606960, 1661, 10, 19], +[607158, 1662, 5, 5], +[607353, 1662, 11, 16], +[607370, 1662, 12, 3], +[607499, 1663, 4, 11], +[607527, 1663, 5, 9], +[607549, 1663, 5, 31], +[607689, 1663, 10, 18], +[607752, 1663, 12, 20], +[607928, 1664, 6, 13], +[608127, 1664, 12, 29], +[608207, 1665, 3, 19], +[608311, 1665, 7, 1], +[608357, 1665, 8, 16], +[608530, 1666, 2, 5], +[608641, 1666, 5, 27], +[608709, 1666, 8, 3], +[608779, 1666, 10, 12], +[608880, 1667, 1, 21], +[609008, 1667, 5, 29], +[609182, 1667, 11, 19], +[609226, 1668, 1, 2], +[609285, 1668, 3, 1], +[609458, 1668, 8, 21], +[609619, 1669, 1, 29], +[609647, 1669, 2, 26], +[609718, 1669, 5, 8], +[609898, 1669, 11, 4], +[609921, 1669, 11, 27], +[610069, 1670, 4, 24], +[610108, 1670, 6, 2], +[610175, 1670, 8, 8], +[610335, 1671, 1, 15], +[610528, 1671, 7, 27], +[610655, 1671, 12, 1], +[610727, 1672, 2, 11], +[610734, 1672, 2, 18], +[610780, 1672, 4, 4], +[610966, 1672, 10, 7], +[611032, 1672, 12, 12], +[611168, 1673, 4, 27], +[611268, 1673, 8, 5], +[611404, 1673, 12, 19], +[611405, 1673, 12, 20], +[611438, 1674, 1, 22], +[611633, 1674, 8, 5], +[611787, 1675, 1, 6], +[611815, 1675, 2, 3], +[611907, 1675, 5, 6], +[611963, 1675, 7, 1], +[611994, 1675, 8, 1], +[612192, 1676, 2, 15], +[612374, 1676, 8, 15], +[612484, 1676, 12, 3], +[612664, 1677, 6, 1], +[612754, 1677, 8, 30], +[612839, 1677, 11, 23], +[612849, 1677, 12, 3], +[612949, 1678, 3, 13], +[613057, 1678, 6, 29], +[613187, 1678, 11, 6], +[613282, 1679, 2, 9], +[613301, 1679, 2, 28], +[613415, 1679, 6, 22], +[613471, 1679, 8, 17], +[613539, 1679, 10, 24], +[613716, 1680, 4, 18], +[613752, 1680, 5, 24], +[613787, 1680, 6, 28], +[613967, 1680, 12, 25], +[613999, 1681, 1, 26], +[614135, 1681, 6, 11], +[614285, 1681, 11, 8], +[614290, 1681, 11, 13], +[614443, 1682, 4, 15], +[614529, 1682, 7, 10], +[614650, 1682, 11, 8], +[614838, 1683, 5, 15], +[614879, 1683, 6, 25], +[614946, 1683, 8, 31], +[615036, 1683, 11, 29], +[615091, 1684, 1, 23], +[615246, 1684, 6, 26], +[615286, 1684, 8, 5], +[615345, 1684, 10, 3], +[615443, 1685, 1, 9], +[615540, 1685, 4, 16], +[615694, 1685, 9, 17], +[615849, 1686, 2, 19], +[615987, 1686, 7, 7], +[616138, 1686, 12, 5], +[616255, 1687, 4, 1], +[616434, 1687, 9, 27], +[616624, 1688, 4, 4], +[616650, 1688, 4, 30], +[616703, 1688, 6, 22], +[616752, 1688, 8, 10], +[616759, 1688, 8, 17], +[616844, 1688, 11, 10], +[616929, 1689, 2, 3], +[617067, 1689, 6, 21], +[617099, 1689, 7, 23], +[617182, 1689, 10, 14], +[617240, 1689, 12, 11], +[617368, 1690, 4, 18], +[617444, 1690, 7, 3], +[617469, 1690, 7, 28], +[617596, 1690, 12, 2], +[617726, 1691, 4, 11], +[617918, 1691, 10, 20], +[617974, 1691, 12, 15], +[617998, 1692, 1, 8], +[618182, 1692, 7, 10], +[618279, 1692, 10, 15], +[618337, 1692, 12, 12], +[618437, 1693, 3, 22], +[618595, 1693, 8, 27], +[618789, 1694, 3, 9], +[618955, 1694, 8, 22], +[619135, 1695, 2, 18], +[619274, 1695, 7, 7], +[619419, 1695, 11, 29], +[619608, 1696, 6, 5], +[619670, 1696, 8, 6], +[619740, 1696, 10, 15], +[619820, 1697, 1, 3], +[619917, 1697, 4, 10], +[619936, 1697, 4, 29], +[619942, 1697, 5, 5], +[619987, 1697, 6, 19], +[620073, 1697, 9, 13], +[620218, 1698, 2, 5], +[620316, 1698, 5, 14], +[620378, 1698, 7, 15], +[620493, 1698, 11, 7], +[620602, 1699, 2, 24], +[620630, 1699, 3, 24], +[620753, 1699, 7, 25], +[620898, 1699, 12, 17], +[620995, 1700, 3, 24], +[621080, 1700, 6, 17], +[621232, 1700, 11, 16], +[621312, 1701, 2, 4], +[621381, 1701, 4, 14], +[621481, 1701, 7, 23], +[621513, 1701, 8, 24], +[621614, 1701, 12, 3], +[621666, 1702, 1, 24], +[621732, 1702, 3, 31], +[621854, 1702, 7, 31], +[622030, 1703, 1, 23], +[622055, 1703, 2, 17], +[622124, 1703, 4, 27], +[622290, 1703, 10, 10], +[622426, 1704, 2, 23], +[622451, 1704, 3, 19], +[622522, 1704, 5, 29], +[622714, 1704, 12, 7], +[622901, 1705, 6, 12], +[622938, 1705, 7, 19], +[622956, 1705, 8, 6], +[623054, 1705, 11, 12], +[623227, 1706, 5, 4], +[623239, 1706, 5, 16], +[623241, 1706, 5, 18], +[623346, 1706, 8, 31], +[623496, 1707, 1, 28], +[623497, 1707, 1, 29], +[623690, 1707, 8, 10], +[623871, 1708, 2, 7], +[623970, 1708, 5, 16], +[624064, 1708, 8, 18], +[624116, 1708, 10, 9], +[624136, 1708, 10, 29], +[624252, 1709, 2, 22], +[624436, 1709, 8, 25], +[624608, 1710, 2, 13], +[624699, 1710, 5, 15], +[624741, 1710, 6, 26], +[624865, 1710, 10, 28], +[624952, 1711, 1, 23], +[625054, 1711, 5, 5], +[625141, 1711, 7, 31], +[625333, 1712, 2, 8], +[625378, 1712, 3, 24], +[625506, 1712, 7, 30], +[625514, 1712, 8, 7], +[625666, 1713, 1, 6], +[625745, 1713, 3, 26], +[625872, 1713, 7, 31], +[625991, 1713, 11, 27], +[626099, 1714, 3, 15], +[626108, 1714, 3, 24], +[626268, 1714, 8, 31], +[626283, 1714, 9, 15], +[626385, 1714, 12, 26], +[626525, 1715, 5, 15], +[626647, 1715, 9, 14], +[626779, 1716, 1, 24], +[626849, 1716, 4, 3], +[626897, 1716, 5, 21], +[626952, 1716, 7, 15], +[627065, 1716, 11, 5], +[627156, 1717, 2, 4], +[627308, 1717, 7, 6], +[627405, 1717, 10, 11], +[627474, 1717, 12, 19], +[627548, 1718, 3, 3], +[627745, 1718, 9, 16], +[627771, 1718, 10, 12], +[627948, 1719, 4, 7], +[628099, 1719, 9, 5], +[628168, 1719, 11, 13], +[628254, 1720, 2, 7], +[628382, 1720, 6, 14], +[628445, 1720, 8, 16], +[628560, 1720, 12, 9], +[628645, 1721, 3, 4], +[628768, 1721, 7, 5], +[628868, 1721, 10, 13], +[628913, 1721, 11, 27], +[628993, 1722, 2, 15], +[629006, 1722, 2, 28], +[629084, 1722, 5, 17], +[629164, 1722, 8, 5], +[629229, 1722, 10, 9], +[629393, 1723, 3, 22], +[629421, 1723, 4, 19], +[629592, 1723, 10, 7], +[629688, 1724, 1, 11], +[629774, 1724, 4, 6], +[629926, 1724, 9, 5], +[630094, 1725, 2, 20], +[630266, 1725, 8, 11], +[630461, 1726, 2, 22], +[630569, 1726, 6, 10], +[630761, 1726, 12, 19], +[630918, 1727, 5, 25], +[631035, 1727, 9, 19], +[631217, 1728, 3, 19], +[631283, 1728, 5, 24], +[631442, 1728, 10, 30], +[631501, 1728, 12, 28], +[631549, 1729, 2, 14], +[631738, 1729, 8, 22], +[631833, 1729, 11, 25], +[632004, 1730, 5, 15], +[632117, 1730, 9, 5], +[632244, 1731, 1, 10], +[632443, 1731, 7, 28], +[632570, 1731, 12, 2], +[632622, 1732, 1, 23], +[632679, 1732, 3, 20], +[632786, 1732, 7, 5], +[632969, 1733, 1, 4], +[633139, 1733, 6, 23], +[633178, 1733, 8, 1], +[633350, 1734, 1, 20], +[633424, 1734, 4, 4], +[633437, 1734, 4, 17], +[633615, 1734, 10, 12], +[633737, 1735, 2, 11], +[633913, 1735, 8, 6], +[634107, 1736, 2, 16], +[634226, 1736, 6, 14], +[634348, 1736, 10, 14], +[634409, 1736, 12, 14], +[634440, 1737, 1, 14], +[634516, 1737, 3, 31], +[634621, 1737, 7, 14], +[634722, 1737, 10, 23], +[634837, 1738, 2, 15], +[635001, 1738, 7, 29], +[635082, 1738, 10, 18], +[635084, 1738, 10, 20], +[635229, 1739, 3, 14], +[635307, 1739, 5, 31], +[635391, 1739, 8, 23], +[635419, 1739, 9, 20], +[635512, 1739, 12, 22], +[635590, 1740, 3, 9], +[635628, 1740, 4, 16], +[635808, 1740, 10, 13], +[635880, 1740, 12, 24], +[636040, 1741, 6, 2], +[636066, 1741, 6, 28], +[636178, 1741, 10, 18], +[636302, 1742, 2, 19], +[636451, 1742, 7, 18], +[636500, 1742, 9, 5], +[636570, 1742, 11, 14], +[636727, 1743, 4, 20], +[636767, 1743, 5, 30], +[636870, 1743, 9, 10], +[637061, 1744, 3, 19], +[637226, 1744, 8, 31], +[637258, 1744, 10, 2], +[637407, 1745, 2, 28], +[637570, 1745, 8, 10], +[637725, 1746, 1, 12], +[637876, 1746, 6, 12], +[637928, 1746, 8, 3], +[637977, 1746, 9, 21], +[638143, 1747, 3, 6], +[638297, 1747, 8, 7], +[638486, 1748, 2, 12], +[638614, 1748, 6, 19], +[638700, 1748, 9, 13], +[638787, 1748, 12, 9], +[638926, 1749, 4, 27], +[639112, 1749, 10, 30], +[639272, 1750, 4, 8], +[639433, 1750, 9, 16], +[639620, 1751, 3, 22], +[639645, 1751, 4, 16], +[639665, 1751, 5, 6], +[639724, 1751, 7, 4], +[639881, 1751, 12, 8], +[640032, 1752, 5, 7], +[640184, 1752, 10, 6], +[640310, 1753, 2, 9], +[640430, 1753, 6, 9], +[640507, 1753, 8, 25], +[640602, 1753, 11, 28], +[640775, 1754, 5, 20], +[640898, 1754, 9, 20], +[641079, 1755, 3, 20], +[641150, 1755, 5, 30], +[641202, 1755, 7, 21], +[641236, 1755, 8, 24], +[641318, 1755, 11, 14], +[641435, 1756, 3, 10], +[641587, 1756, 8, 9], +[641745, 1757, 1, 14], +[641747, 1757, 1, 16], +[641887, 1757, 6, 5], +[642035, 1757, 10, 31], +[642049, 1757, 11, 14], +[642067, 1757, 12, 2], +[642241, 1758, 5, 25], +[642427, 1758, 11, 27], +[642505, 1759, 2, 13], +[642604, 1759, 5, 23], +[642666, 1759, 7, 24], +[642717, 1759, 9, 13], +[642810, 1759, 12, 15], +[642821, 1759, 12, 26], +[642877, 1760, 2, 20], +[643039, 1760, 7, 31], +[643229, 1761, 2, 6], +[643397, 1761, 7, 24], +[643429, 1761, 8, 25], +[643476, 1761, 10, 11], +[643486, 1761, 10, 21], +[643565, 1762, 1, 8], +[643650, 1762, 4, 3], +[643750, 1762, 7, 12], +[643889, 1762, 11, 28], +[644080, 1763, 6, 7], +[644093, 1763, 6, 20], +[644223, 1763, 10, 28], +[644322, 1764, 2, 4], +[644388, 1764, 4, 10], +[644572, 1764, 10, 11], +[644626, 1764, 12, 4], +[644766, 1765, 4, 23], +[644773, 1765, 4, 30], +[644928, 1765, 10, 2], +[645069, 1766, 2, 20], +[645247, 1766, 8, 17], +[645376, 1766, 12, 24], +[645399, 1767, 1, 16], +[645508, 1767, 5, 5], +[645596, 1767, 8, 1], +[645778, 1768, 1, 30], +[645876, 1768, 5, 7], +[645988, 1768, 8, 27], +[646175, 1769, 3, 2], +[646255, 1769, 5, 21], +[646313, 1769, 7, 18], +[646445, 1769, 11, 27], +[646514, 1770, 2, 4], +[646558, 1770, 3, 20], +[646715, 1770, 8, 24], +[646771, 1770, 10, 19], +[646925, 1771, 3, 22], +[646940, 1771, 4, 6], +[647015, 1771, 6, 20], +[647043, 1771, 7, 18], +[647225, 1772, 1, 16], +[647425, 1772, 8, 3], +[647508, 1772, 10, 25], +[647628, 1773, 2, 22], +[647712, 1773, 5, 17], +[647911, 1773, 12, 2], +[648003, 1774, 3, 4], +[648140, 1774, 7, 19], +[648217, 1774, 10, 4], +[648293, 1774, 12, 19], +[648381, 1775, 3, 17], +[648398, 1775, 4, 3], +[648417, 1775, 4, 22], +[648480, 1775, 6, 24], +[648677, 1776, 1, 7], +[648688, 1776, 1, 18], +[648819, 1776, 5, 28], +[648901, 1776, 8, 18], +[649002, 1776, 11, 27], +[649075, 1777, 2, 8], +[649133, 1777, 4, 7], +[649165, 1777, 5, 9], +[649175, 1777, 5, 19], +[649209, 1777, 6, 22], +[649292, 1777, 9, 13], +[649409, 1778, 1, 8], +[649513, 1778, 4, 22], +[649692, 1778, 10, 18], +[649836, 1779, 3, 11], +[649974, 1779, 7, 27], +[650166, 1780, 2, 4], +[650334, 1780, 7, 21], +[650478, 1780, 12, 12], +[650521, 1781, 1, 24], +[650569, 1781, 3, 13], +[650657, 1781, 6, 9], +[650679, 1781, 7, 1], +[650837, 1781, 12, 6], +[650900, 1782, 2, 7], +[650911, 1782, 2, 18], +[651087, 1782, 8, 13], +[651232, 1783, 1, 5], +[651288, 1783, 3, 2], +[651421, 1783, 7, 13], +[651621, 1784, 1, 29], +[651649, 1784, 2, 26], +[651776, 1784, 7, 2], +[651935, 1784, 12, 8], +[651952, 1784, 12, 25], +[652132, 1785, 6, 23], +[652228, 1785, 9, 27], +[652301, 1785, 12, 9], +[652398, 1786, 3, 16], +[652449, 1786, 5, 6], +[652545, 1786, 8, 10], +[652616, 1786, 10, 20], +[652696, 1787, 1, 8], +[652745, 1787, 2, 26], +[652913, 1787, 8, 13], +[652949, 1787, 9, 18], +[652997, 1787, 11, 5], +[653051, 1787, 12, 29], +[653249, 1788, 7, 14], +[653275, 1788, 8, 9], +[653368, 1788, 11, 10], +[653444, 1789, 1, 25], +[653606, 1789, 7, 6], +[653803, 1790, 1, 19], +[653874, 1790, 3, 31], +[653926, 1790, 5, 22], +[653979, 1790, 7, 14], +[654093, 1790, 11, 5], +[654134, 1790, 12, 16], +[654232, 1791, 3, 24], +[654280, 1791, 5, 11], +[654355, 1791, 7, 25], +[654455, 1791, 11, 2], +[654485, 1791, 12, 2], +[654662, 1792, 5, 27], +[654723, 1792, 7, 27], +[654818, 1792, 10, 30], +[654928, 1793, 2, 17], +[654995, 1793, 4, 25], +[655042, 1793, 6, 11], +[655103, 1793, 8, 11], +[655264, 1794, 1, 19], +[655286, 1794, 2, 10], +[655359, 1794, 4, 24], +[655426, 1794, 6, 30], +[655519, 1794, 10, 1], +[655679, 1795, 3, 10], +[655755, 1795, 5, 25], +[655943, 1795, 11, 29], +[655945, 1795, 12, 1], +[656034, 1796, 2, 28], +[656148, 1796, 6, 21], +[656218, 1796, 8, 30], +[656221, 1796, 9, 2], +[656352, 1797, 1, 11], +[656540, 1797, 7, 18], +[656634, 1797, 10, 20], +[656804, 1798, 4, 8], +[656843, 1798, 5, 17], +[656875, 1798, 6, 18], +[656952, 1798, 9, 3], +[657057, 1798, 12, 17], +[657156, 1799, 3, 26], +[657314, 1799, 8, 31], +[657315, 1799, 9, 1], +[657476, 1800, 2, 9], +[657505, 1800, 3, 10], +[657546, 1800, 4, 20], +[657703, 1800, 9, 24], +[657712, 1800, 10, 3], +[657771, 1800, 12, 1], +[657926, 1801, 5, 5], +[657966, 1801, 6, 14], +[658080, 1801, 10, 6], +[658259, 1802, 4, 3], +[658439, 1802, 9, 30], +[658610, 1803, 3, 20], +[658628, 1803, 4, 7], +[658794, 1803, 9, 20], +[658806, 1803, 10, 2], +[658969, 1804, 3, 13], +[659032, 1804, 5, 15], +[659219, 1804, 11, 18], +[659262, 1804, 12, 31], +[659457, 1805, 7, 14], +[659495, 1805, 8, 21], +[659659, 1806, 2, 1], +[659669, 1806, 2, 11], +[659765, 1806, 5, 18], +[659932, 1806, 11, 1], +[660098, 1807, 4, 16], +[660154, 1807, 6, 11], +[660262, 1807, 9, 27], +[660439, 1808, 3, 22], +[660543, 1808, 7, 4], +[660548, 1808, 7, 9], +[660681, 1808, 11, 19], +[660746, 1809, 1, 23], +[660793, 1809, 3, 11], +[660825, 1809, 4, 12], +[661007, 1809, 10, 11], +[661177, 1810, 3, 30], +[661199, 1810, 4, 21], +[661259, 1810, 6, 20], +[661452, 1810, 12, 30], +[661644, 1811, 7, 10], +[661844, 1812, 1, 26], +[661934, 1812, 4, 25], +[662055, 1812, 8, 24], +[662206, 1813, 1, 22], +[662363, 1813, 6, 28], +[662447, 1813, 9, 20], +[662636, 1814, 3, 28], +[662666, 1814, 4, 27], +[662802, 1814, 9, 10], +[662974, 1815, 3, 1], +[663146, 1815, 8, 20], +[663275, 1815, 12, 27], +[663328, 1816, 2, 18], +[663451, 1816, 6, 20], +[663547, 1816, 9, 24], +[663576, 1816, 10, 23], +[663604, 1816, 11, 20], +[663794, 1817, 5, 29], +[663846, 1817, 7, 20], +[663897, 1817, 9, 9], +[663899, 1817, 9, 11], +[664048, 1818, 2, 7], +[664145, 1818, 5, 15], +[664206, 1818, 7, 15], +[664358, 1818, 12, 14], +[664550, 1819, 6, 24], +[664636, 1819, 9, 18], +[664782, 1820, 2, 11], +[664919, 1820, 6, 27], +[664968, 1820, 8, 15], +[665126, 1821, 1, 20], +[665298, 1821, 7, 11], +[665415, 1821, 11, 5], +[665428, 1821, 11, 18], +[665617, 1822, 5, 26], +[665634, 1822, 6, 12], +[665683, 1822, 7, 31], +[665729, 1822, 9, 15], +[665796, 1822, 11, 21], +[665972, 1823, 5, 16], +[666069, 1823, 8, 21], +[666114, 1823, 10, 5], +[666177, 1823, 12, 7], +[666337, 1824, 5, 15], +[666524, 1824, 11, 18], +[666697, 1825, 5, 10], +[666782, 1825, 8, 3], +[666873, 1825, 11, 2], +[666957, 1826, 1, 25], +[667032, 1826, 4, 10], +[667178, 1826, 9, 3], +[667193, 1826, 9, 18], +[667386, 1827, 3, 30], +[667546, 1827, 9, 6], +[667678, 1828, 1, 16], +[667722, 1828, 2, 29], +[667809, 1828, 5, 26], +[667941, 1828, 10, 5], +[667983, 1828, 11, 16], +[668108, 1829, 3, 21], +[668198, 1829, 6, 19], +[668247, 1829, 8, 7], +[668425, 1830, 2, 1], +[668622, 1830, 8, 17], +[668746, 1830, 12, 19], +[668927, 1831, 6, 18], +[669116, 1831, 12, 24], +[669234, 1832, 4, 20], +[669268, 1832, 5, 24], +[669405, 1832, 10, 8], +[669499, 1833, 1, 10], +[669681, 1833, 7, 11], +[669780, 1833, 10, 18], +[669933, 1834, 3, 20], +[670093, 1834, 8, 27], +[670111, 1834, 9, 14], +[670225, 1835, 1, 6], +[670263, 1835, 2, 13], +[670264, 1835, 2, 14], +[670436, 1835, 8, 5], +[670550, 1835, 11, 27], +[670603, 1836, 1, 19], +[670737, 1836, 6, 1], +[670837, 1836, 9, 9], +[671025, 1837, 3, 16], +[671127, 1837, 6, 26], +[671275, 1837, 11, 21], +[671412, 1838, 4, 7], +[671416, 1838, 4, 11], +[671544, 1838, 8, 17], +[671702, 1839, 1, 22], +[671814, 1839, 5, 14], +[671966, 1839, 10, 13], +[672158, 1840, 4, 22], +[672358, 1840, 11, 8], +[672437, 1841, 1, 26], +[672478, 1841, 3, 8], +[672561, 1841, 5, 30], +[672653, 1841, 8, 30], +[672811, 1842, 2, 4], +[672977, 1842, 7, 20], +[673077, 1842, 10, 28], +[673144, 1843, 1, 3], +[673193, 1843, 2, 21], +[673328, 1843, 7, 6], +[673348, 1843, 7, 26], +[673395, 1843, 9, 11], +[673548, 1844, 2, 11], +[673665, 1844, 6, 7], +[673863, 1844, 12, 22], +[674062, 1845, 7, 9], +[674250, 1846, 1, 13], +[674315, 1846, 3, 19], +[674368, 1846, 5, 11], +[674453, 1846, 8, 4], +[674549, 1846, 11, 8], +[674685, 1847, 3, 24], +[674697, 1847, 4, 5], +[674784, 1847, 7, 1], +[674887, 1847, 10, 12], +[675083, 1848, 4, 25], +[675267, 1848, 10, 26], +[675274, 1848, 11, 2], +[675297, 1848, 11, 25], +[675333, 1848, 12, 31], +[675378, 1849, 2, 14], +[675550, 1849, 8, 5], +[675694, 1849, 12, 27], +[675775, 1850, 3, 18], +[675961, 1850, 9, 20], +[676069, 1851, 1, 6], +[676212, 1851, 5, 29], +[676295, 1851, 8, 20], +[676451, 1852, 1, 23], +[676644, 1852, 8, 3], +[676698, 1852, 9, 26], +[676795, 1853, 1, 1], +[676971, 1853, 6, 26], +[677014, 1853, 8, 8], +[677080, 1853, 10, 13], +[677111, 1853, 11, 13], +[677169, 1854, 1, 10], +[677195, 1854, 2, 5], +[677338, 1854, 6, 28], +[677443, 1854, 10, 11], +[677640, 1855, 4, 26], +[677715, 1855, 7, 10], +[677816, 1855, 10, 19], +[677823, 1855, 10, 26], +[677934, 1856, 2, 14], +[678019, 1856, 5, 9], +[678154, 1856, 9, 21], +[678303, 1857, 2, 17], +[678345, 1857, 3, 31], +[678410, 1857, 6, 4], +[678459, 1857, 7, 23], +[678608, 1857, 12, 19], +[678793, 1858, 6, 22], +[678983, 1858, 12, 29], +[679074, 1859, 3, 30], +[679163, 1859, 6, 27], +[679215, 1859, 8, 18], +[679251, 1859, 9, 23], +[679280, 1859, 10, 22], +[679426, 1860, 3, 16], +[679441, 1860, 3, 31], +[679610, 1860, 9, 16], +[679646, 1860, 10, 22], +[679763, 1861, 2, 16], +[679873, 1861, 6, 6], +[680067, 1861, 12, 17], +[680142, 1862, 3, 2], +[680249, 1862, 6, 17], +[680420, 1862, 12, 5], +[680517, 1863, 3, 12], +[680541, 1863, 4, 5], +[680721, 1863, 10, 2], +[680809, 1863, 12, 29], +[680888, 1864, 3, 17], +[680943, 1864, 5, 11], +[680975, 1864, 6, 12], +[681040, 1864, 8, 16], +[681086, 1864, 10, 1], +[681186, 1865, 1, 9], +[681198, 1865, 1, 21], +[681390, 1865, 8, 1], +[681581, 1866, 2, 8], +[681653, 1866, 4, 21], +[681820, 1866, 10, 5], +[681926, 1867, 1, 19], +[682064, 1867, 6, 6], +[682149, 1867, 8, 30], +[682222, 1867, 11, 11], +[682307, 1868, 2, 4], +[682318, 1868, 2, 15], +[682330, 1868, 2, 27], +[682385, 1868, 4, 22], +[682478, 1868, 7, 24], +[682591, 1868, 11, 14], +[682787, 1869, 5, 29], +[682866, 1869, 8, 16], +[683056, 1870, 2, 22], +[683183, 1870, 6, 29], +[683338, 1870, 12, 1], +[683428, 1871, 3, 1], +[683617, 1871, 9, 6], +[683808, 1872, 3, 15], +[683918, 1872, 7, 3], +[684116, 1873, 1, 17], +[684241, 1873, 5, 22], +[684394, 1873, 10, 22], +[684529, 1874, 3, 6], +[684674, 1874, 7, 29], +[684865, 1875, 2, 5], +[684994, 1875, 6, 14], +[685034, 1875, 7, 24], +[685101, 1875, 9, 29], +[685111, 1875, 10, 9], +[685153, 1875, 11, 20], +[685199, 1876, 1, 5], +[685271, 1876, 3, 17], +[685367, 1876, 6, 21], +[685491, 1876, 10, 23], +[685561, 1877, 1, 1], +[685753, 1877, 7, 12], +[685936, 1878, 1, 11], +[686107, 1878, 7, 1], +[686220, 1878, 10, 22], +[686343, 1879, 2, 22], +[686491, 1879, 7, 20], +[686621, 1879, 11, 27], +[686633, 1879, 12, 9], +[686795, 1880, 5, 19], +[686928, 1880, 9, 29], +[687071, 1881, 2, 19], +[687180, 1881, 6, 8], +[687181, 1881, 6, 9], +[687221, 1881, 7, 19], +[687227, 1881, 7, 25], +[687312, 1881, 10, 18], +[687478, 1882, 4, 2], +[687677, 1882, 10, 18], +[687772, 1883, 1, 21], +[687879, 1883, 5, 8], +[688020, 1883, 9, 26], +[688028, 1883, 10, 4], +[688033, 1883, 10, 9], +[688119, 1884, 1, 3], +[688269, 1884, 6, 1], +[688357, 1884, 8, 28], +[688439, 1884, 11, 18], +[688578, 1885, 4, 6], +[688660, 1885, 6, 27], +[688752, 1885, 9, 27], +[688769, 1885, 10, 14], +[688968, 1886, 5, 1], +[689166, 1886, 11, 15], +[689211, 1886, 12, 30], +[689337, 1887, 5, 5], +[689352, 1887, 5, 20], +[689490, 1887, 10, 5], +[689554, 1887, 12, 8], +[689574, 1887, 12, 28], +[689760, 1888, 7, 1], +[689917, 1888, 12, 5], +[690038, 1889, 4, 5], +[690202, 1889, 9, 16], +[690205, 1889, 9, 19], +[690222, 1889, 10, 6], +[690299, 1889, 12, 22], +[690472, 1890, 6, 13], +[690508, 1890, 7, 19], +[690604, 1890, 10, 23], +[690701, 1891, 1, 28], +[690860, 1891, 7, 6], +[691054, 1892, 1, 16], +[691154, 1892, 4, 25], +[691288, 1892, 9, 6], +[691348, 1892, 11, 5], +[691440, 1893, 2, 5], +[691538, 1893, 5, 14], +[691560, 1893, 6, 5], +[691660, 1893, 9, 13], +[691694, 1893, 10, 17], +[691890, 1894, 5, 1], +[692028, 1894, 9, 16], +[692073, 1894, 10, 31], +[692268, 1895, 5, 14], +[692341, 1895, 7, 26], +[692448, 1895, 11, 10], +[692450, 1895, 11, 12], +[692580, 1896, 3, 21], +[692662, 1896, 6, 11], +[692680, 1896, 6, 29], +[692793, 1896, 10, 20], +[692917, 1897, 2, 21], +[692948, 1897, 3, 24], +[692995, 1897, 5, 10], +[693024, 1897, 6, 8], +[693214, 1897, 12, 15], +[693279, 1898, 2, 18], +[693388, 1898, 6, 7], +[693432, 1898, 7, 21], +[693449, 1898, 8, 7], +[693613, 1899, 1, 18], +[693686, 1899, 4, 1], +[693767, 1899, 6, 21], +[693890, 1899, 10, 22], +[693924, 1899, 11, 25], +[694083, 1900, 5, 3], +[694139, 1900, 6, 28], +[694253, 1900, 10, 20], +[694369, 1901, 2, 13], +[694561, 1901, 8, 24], +[694728, 1902, 2, 7], +[694855, 1902, 6, 14], +[694942, 1902, 9, 9], +[695080, 1903, 1, 25], +[695180, 1903, 5, 5], +[695269, 1903, 8, 2], +[695369, 1903, 11, 10], +[695560, 1904, 5, 19], +[695570, 1904, 5, 29], +[695637, 1904, 8, 4], +[695690, 1904, 9, 26], +[695854, 1905, 3, 9], +[695888, 1905, 4, 12], +[695985, 1905, 7, 18], +[696007, 1905, 8, 9], +[696016, 1905, 8, 18], +[696124, 1905, 12, 4], +[696159, 1906, 1, 8], +[696203, 1906, 2, 21], +[696214, 1906, 3, 4], +[696323, 1906, 6, 21], +[696332, 1906, 6, 30], +[696405, 1906, 9, 11], +[696585, 1907, 3, 10], +[696667, 1907, 5, 31], +[696723, 1907, 7, 26], +[696804, 1907, 10, 15], +[696919, 1908, 2, 7], +[697010, 1908, 5, 8], +[697048, 1908, 6, 15], +[697107, 1908, 8, 13], +[697290, 1909, 2, 12], +[697471, 1909, 8, 12], +[697524, 1909, 10, 4], +[697571, 1909, 11, 20], +[697723, 1910, 4, 21], +[697892, 1910, 10, 7], +[697917, 1910, 11, 1], +[698001, 1911, 1, 24], +[698093, 1911, 4, 26], +[698258, 1911, 10, 8], +[698268, 1911, 10, 18], +[698269, 1911, 10, 19], +[698457, 1912, 4, 24], +[698628, 1912, 10, 12], +[698684, 1912, 12, 7], +[698860, 1913, 6, 1], +[698919, 1913, 7, 30], +[698990, 1913, 10, 9], +[699065, 1913, 12, 23], +[699161, 1914, 3, 29], +[699213, 1914, 5, 20], +[699368, 1914, 10, 22], +[699523, 1915, 3, 26], +[699705, 1915, 9, 24], +[699797, 1915, 12, 25], +[699881, 1916, 3, 18], +[699891, 1916, 3, 28], +[700003, 1916, 7, 18], +[700158, 1916, 12, 20], +[700185, 1917, 1, 16], +[700338, 1917, 6, 18], +[700426, 1917, 9, 14], +[700499, 1917, 11, 26], +[700505, 1917, 12, 2], +[700663, 1918, 5, 9], +[700729, 1918, 7, 14], +[700785, 1918, 9, 8], +[700807, 1918, 9, 30], +[700825, 1918, 10, 18], +[700872, 1918, 12, 4], +[701045, 1919, 5, 26], +[701200, 1919, 10, 28], +[701237, 1919, 12, 4], +[701411, 1920, 5, 26], +[701418, 1920, 6, 2], +[701459, 1920, 7, 13], +[701592, 1920, 11, 23], +[701620, 1920, 12, 21], +[701691, 1921, 3, 2], +[701807, 1921, 6, 26], +[701885, 1921, 9, 12], +[701960, 1921, 11, 26], +[702029, 1922, 2, 3], +[702155, 1922, 6, 9], +[702244, 1922, 9, 6], +[702291, 1922, 10, 23], +[702481, 1923, 5, 1], +[702621, 1923, 9, 18], +[702821, 1924, 4, 5], +[702911, 1924, 7, 4], +[703008, 1924, 10, 9], +[703133, 1925, 2, 11], +[703251, 1925, 6, 9], +[703291, 1925, 7, 19], +[703418, 1925, 11, 23], +[703445, 1925, 12, 20], +[703501, 1926, 2, 14], +[703569, 1926, 4, 23], +[703644, 1926, 7, 7], +[703664, 1926, 7, 27], +[703697, 1926, 8, 29], +[703754, 1926, 10, 25], +[703848, 1927, 1, 27], +[703965, 1927, 5, 24], +[704071, 1927, 9, 7], +[704219, 1928, 2, 2], +[704235, 1928, 2, 18], +[704377, 1928, 7, 9], +[704546, 1928, 12, 25], +[704581, 1929, 1, 29], +[704620, 1929, 3, 9], +[704804, 1929, 9, 9], +[704833, 1929, 10, 8], +[705011, 1930, 4, 4], +[705059, 1930, 5, 22], +[705062, 1930, 5, 25], +[705188, 1930, 9, 28], +[705332, 1931, 2, 19], +[705513, 1931, 8, 19], +[705572, 1931, 10, 17], +[705715, 1932, 3, 8], +[705836, 1932, 7, 7], +[705959, 1932, 11, 7], +[706103, 1933, 3, 31], +[706246, 1933, 8, 21], +[706342, 1933, 11, 25], +[706347, 1933, 11, 30], +[706439, 1934, 3, 2], +[706531, 1934, 6, 2], +[706669, 1934, 10, 18], +[706763, 1935, 1, 20], +[706765, 1935, 1, 22], +[706872, 1935, 5, 9], +[707027, 1935, 10, 11], +[707076, 1935, 11, 29], +[707208, 1936, 4, 9], +[707244, 1936, 5, 15], +[707355, 1936, 9, 3], +[707493, 1937, 1, 19], +[707524, 1937, 2, 19], +[707644, 1937, 6, 19], +[707771, 1937, 10, 24], +[707916, 1938, 3, 18], +[708059, 1938, 8, 8], +[708085, 1938, 9, 3], +[708229, 1939, 1, 25], +[708232, 1939, 1, 28], +[708288, 1939, 3, 25], +[708469, 1939, 9, 22], +[708643, 1940, 3, 14], +[708793, 1940, 8, 11], +[708954, 1941, 1, 19], +[709052, 1941, 4, 27], +[709080, 1941, 5, 25], +[709154, 1941, 8, 7], +[709309, 1942, 1, 9], +[709419, 1942, 4, 29], +[709426, 1942, 5, 6], +[709435, 1942, 5, 15], +[709507, 1942, 7, 26], +[709535, 1942, 8, 23], +[709563, 1942, 9, 20], +[709662, 1942, 12, 28], +[709835, 1943, 6, 19], +[709987, 1943, 11, 18], +[710131, 1944, 4, 10], +[710164, 1944, 5, 13], +[710205, 1944, 6, 23], +[710214, 1944, 7, 2], +[710279, 1944, 9, 5], +[710319, 1944, 10, 15], +[710400, 1945, 1, 4], +[710521, 1945, 5, 5], +[710529, 1945, 5, 13], +[710691, 1945, 10, 22], +[710743, 1945, 12, 13], +[710832, 1946, 3, 12], +[710966, 1946, 7, 24], +[711012, 1946, 9, 8], +[711018, 1946, 9, 14], +[711204, 1947, 3, 19], +[711285, 1947, 6, 8], +[711452, 1947, 11, 22], +[711531, 1948, 2, 9], +[711710, 1948, 8, 6], +[711907, 1949, 2, 19], +[711981, 1949, 5, 4], +[712109, 1949, 9, 9], +[712117, 1949, 9, 17], +[712240, 1950, 1, 18], +[712371, 1950, 5, 29], +[712436, 1950, 8, 2], +[712474, 1950, 9, 9], +[712656, 1951, 3, 10], +[712754, 1951, 6, 16], +[712845, 1951, 9, 15], +[712946, 1951, 12, 25], +[713102, 1952, 5, 29], +[713299, 1952, 12, 12], +[713498, 1953, 6, 29], +[713561, 1953, 8, 31], +[713656, 1953, 12, 4], +[713845, 1954, 6, 11], +[713907, 1954, 8, 12], +[713910, 1954, 8, 15], +[713974, 1954, 10, 18], +[714017, 1954, 11, 30], +[714132, 1955, 3, 25], +[714175, 1955, 5, 7], +[714311, 1955, 9, 20], +[714416, 1956, 1, 3], +[714511, 1956, 4, 7], +[714581, 1956, 6, 16], +[714693, 1956, 10, 6], +[714732, 1956, 11, 14], +[714875, 1957, 4, 6], +[715048, 1957, 9, 26], +[715090, 1957, 11, 7], +[715127, 1957, 12, 14], +[715220, 1958, 3, 17], +[715368, 1958, 8, 12], +[715415, 1958, 9, 28], +[715419, 1958, 10, 2], +[715450, 1958, 11, 2], +[715633, 1959, 5, 4], +[715682, 1959, 6, 22], +[715712, 1959, 7, 22], +[715750, 1959, 8, 29], +[715896, 1960, 1, 22], +[715957, 1960, 3, 23], +[716119, 1960, 9, 1], +[716260, 1961, 1, 20], +[716378, 1961, 5, 18], +[716400, 1961, 6, 9], +[716487, 1961, 9, 4], +[716575, 1961, 12, 1], +[716676, 1962, 3, 12], +[716682, 1962, 3, 18], +[716801, 1962, 7, 15], +[716978, 1963, 1, 8], +[717008, 1963, 2, 7], +[717030, 1963, 3, 1], +[717120, 1963, 5, 30], +[717179, 1963, 7, 28], +[717215, 1963, 9, 2], +[717394, 1964, 2, 28], +[717495, 1964, 6, 8], +[717507, 1964, 6, 20], +[717559, 1964, 8, 11], +[717598, 1964, 9, 19], +[717680, 1964, 12, 10], +[717859, 1965, 6, 7], +[717953, 1965, 9, 9], +[718070, 1966, 1, 4], +[718210, 1966, 5, 24], +[718265, 1966, 7, 18], +[718353, 1966, 10, 14], +[718450, 1967, 1, 19], +[718506, 1967, 3, 16], +[718529, 1967, 4, 8], +[718703, 1967, 9, 29], +[718900, 1968, 4, 13], +[718986, 1968, 7, 8], +[719029, 1968, 8, 20], +[719228, 1969, 3, 7], +[719362, 1969, 7, 19], +[719558, 1970, 1, 31], +[719580, 1970, 2, 22], +[719623, 1970, 4, 6], +[719732, 1970, 7, 24], +[719795, 1970, 9, 25], +[719824, 1970, 10, 24], +[719955, 1971, 3, 4], +[720091, 1971, 7, 18], +[720225, 1971, 11, 29], +[720282, 1972, 1, 25], +[720299, 1972, 2, 11], +[720395, 1972, 5, 17], +[720402, 1972, 5, 24], +[720570, 1972, 11, 8], +[720684, 1973, 3, 2], +[720756, 1973, 5, 13], +[720941, 1973, 11, 14], +[721122, 1974, 5, 14], +[721154, 1974, 6, 15], +[721283, 1974, 10, 22], +[721438, 1975, 3, 26], +[721616, 1975, 9, 20], +[721745, 1976, 1, 27], +[721792, 1976, 3, 14], +[721829, 1976, 4, 20], +[721984, 1976, 9, 22], +[722045, 1976, 11, 22], +[722143, 1977, 2, 28], +[722288, 1977, 7, 23], +[722371, 1977, 10, 14], +[722561, 1978, 4, 22], +[722700, 1978, 9, 8], +[722722, 1978, 9, 30], +[722866, 1979, 2, 21], +[723044, 1979, 8, 18], +[723054, 1979, 8, 28], +[723084, 1979, 9, 27], +[723148, 1979, 11, 30], +[723334, 1980, 6, 3], +[723509, 1980, 11, 25], +[723652, 1981, 4, 17], +[723832, 1981, 10, 14], +[724028, 1982, 4, 28], +[724042, 1982, 5, 12], +[724178, 1982, 9, 25], +[724320, 1983, 2, 14], +[724438, 1983, 6, 12], +[724596, 1983, 11, 17], +[724693, 1984, 2, 22], +[724742, 1984, 4, 11], +[724865, 1984, 8, 12], +[724912, 1984, 9, 28], +[724926, 1984, 10, 12], +[724930, 1984, 10, 16], +[724938, 1984, 10, 24], +[725062, 1985, 2, 25], +[725067, 1985, 3, 2], +[725242, 1985, 8, 24], +[725265, 1985, 9, 16], +[725385, 1986, 1, 14], +[725555, 1986, 7, 3], +[725615, 1986, 9, 1], +[725747, 1987, 1, 11], +[725754, 1987, 1, 18], +[725932, 1987, 7, 15], +[726014, 1987, 10, 5], +[726138, 1988, 2, 6], +[726288, 1988, 7, 5], +[726390, 1988, 10, 15], +[726574, 1989, 4, 17], +[726719, 1989, 9, 9], +[726802, 1989, 12, 1], +[726953, 1990, 5, 1], +[727099, 1990, 9, 24], +[727157, 1990, 11, 21], +[727250, 1991, 2, 22], +[727394, 1991, 7, 16], +[727581, 1992, 1, 19], +[727729, 1992, 6, 15], +[727926, 1992, 12, 29], +[728032, 1993, 4, 14], +[728082, 1993, 6, 3], +[728210, 1993, 10, 9], +[728274, 1993, 12, 12], +[728344, 1994, 2, 20], +[728540, 1994, 9, 4], +[728546, 1994, 9, 10], +[728624, 1994, 11, 27], +[728629, 1994, 12, 2], +[728647, 1994, 12, 20], +[728649, 1994, 12, 22], +[728671, 1995, 1, 13], +[728859, 1995, 7, 20], +[728967, 1995, 11, 5], +[729141, 1996, 4, 27], +[729278, 1996, 9, 11], +[729461, 1997, 3, 13], +[729539, 1997, 5, 30], +[729563, 1997, 6, 23], +[729634, 1997, 9, 2], +[729786, 1998, 2, 1], +[729882, 1998, 5, 8], +[730022, 1998, 9, 25], +[730115, 1998, 12, 27], +[730184, 1999, 3, 6], +[730383, 1999, 9, 21], +[730469, 1999, 12, 16], +[730554, 2000, 3, 10], +[730745, 2000, 9, 17], +[730891, 2001, 2, 10], +[730995, 2001, 5, 25], +[731002, 2001, 6, 1], +[731050, 2001, 7, 19], +[731154, 2001, 10, 31], +[731299, 2002, 3, 25], +[731348, 2002, 5, 13], +[731541, 2002, 11, 22], +[731692, 2003, 4, 22], +[731779, 2003, 7, 18], +[731800, 2003, 8, 8], +[731978, 2004, 2, 2], +[732056, 2004, 4, 20], +[732099, 2004, 6, 2], +[732108, 2004, 6, 11], +[732296, 2004, 12, 16], +[732435, 2005, 5, 4], +[732612, 2005, 10, 28], +[732654, 2005, 12, 9], +[732841, 2006, 6, 14], +[732965, 2006, 10, 16], +[733043, 2007, 1, 2], +[733206, 2007, 6, 14], +[733349, 2007, 11, 4], +[733459, 2008, 2, 22], +[733620, 2008, 8, 1], +[733661, 2008, 9, 11], +[733798, 2009, 1, 26], +[733832, 2009, 3, 1], +[733851, 2009, 3, 20], +[734010, 2009, 8, 26], +[734202, 2010, 3, 6], +[734298, 2010, 6, 10], +[734317, 2010, 6, 29], +[734516, 2011, 1, 14], +[734665, 2011, 6, 12], +[734857, 2011, 12, 21], +[734884, 2012, 1, 17], +[734939, 2012, 3, 12], +[735073, 2012, 7, 24], +[735241, 2013, 1, 8], +[735419, 2013, 7, 5], +[735489, 2013, 9, 13], +[735604, 2014, 1, 6], +[735750, 2014, 6, 1], +[735839, 2014, 8, 29], +[736006, 2015, 2, 12], +[736040, 2015, 3, 18], +[736132, 2015, 6, 18], +[736176, 2015, 8, 1], +[736181, 2015, 8, 6], +[736354, 2016, 1, 26], +[736482, 2016, 6, 2], +[736485, 2016, 6, 5], +[736522, 2016, 7, 12], +[736523, 2016, 7, 13], +[736549, 2016, 8, 8], +[736603, 2016, 10, 1], +[736641, 2016, 11, 8], +[736647, 2016, 11, 14], +[736688, 2016, 12, 25], +[736765, 2017, 3, 12], +[736914, 2017, 8, 8], +[736932, 2017, 8, 26], +[737066, 2018, 1, 7], +[737113, 2018, 2, 23], +[737233, 2018, 6, 23], +[737382, 2018, 11, 19], +[737557, 2019, 5, 13], +[737586, 2019, 6, 11], +[737700, 2019, 10, 3], +[737724, 2019, 10, 27], +[737735, 2019, 11, 7], +[737736, 2019, 11, 8], +[737810, 2020, 1, 21], +[737885, 2020, 4, 5], +[738021, 2020, 8, 19], +[738116, 2020, 11, 22], +[738306, 2021, 5, 31], +[738374, 2021, 8, 7], +[738521, 2022, 1, 1], +[738546, 2022, 1, 26], +[738739, 2022, 8, 7], +[738904, 2023, 1, 19], +[738965, 2023, 3, 21], +[739009, 2023, 5, 4], +[739127, 2023, 8, 30], +[739243, 2023, 12, 24], +[739401, 2024, 5, 30], +[739573, 2024, 11, 18], +[739581, 2024, 11, 26], +[739611, 2024, 12, 26], +[739684, 2025, 3, 9], +[739755, 2025, 5, 19], +[739896, 2025, 10, 7], +[740083, 2026, 4, 12], +[740134, 2026, 6, 2], +[740317, 2026, 12, 2], +[740396, 2027, 2, 19], +[740536, 2027, 7, 9], +[740576, 2027, 8, 18], +[740650, 2027, 10, 31], +[740796, 2028, 3, 25], +[740850, 2028, 5, 18], +[740965, 2028, 9, 10], +[740999, 2028, 10, 14], +[741100, 2029, 1, 23], +[741125, 2029, 2, 17], +[741266, 2029, 7, 8], +[741434, 2029, 12, 23], +[741541, 2030, 4, 9], +[741615, 2030, 6, 22], +[741666, 2030, 8, 12], +[741863, 2031, 2, 25], +[741880, 2031, 3, 14], +[741987, 2031, 6, 29], +[742020, 2031, 8, 1], +[742143, 2031, 12, 2], +[742233, 2032, 3, 1], +[742359, 2032, 7, 5], +[742518, 2032, 12, 11], +[742590, 2033, 2, 21], +[742761, 2033, 8, 11], +[742953, 2034, 2, 19], +[743092, 2034, 7, 8], +[743279, 2035, 1, 11], +[743302, 2035, 2, 3], +[743467, 2035, 7, 18], +[743515, 2035, 9, 4], +[743552, 2035, 10, 11], +[743661, 2036, 1, 28], +[743812, 2036, 6, 27], +[743891, 2036, 9, 14], +[743997, 2036, 12, 29], +[744108, 2037, 4, 19], +[744155, 2037, 6, 5], +[744320, 2037, 11, 17], +[744520, 2038, 6, 5], +[744598, 2038, 8, 22], +[744695, 2038, 11, 27], +[744854, 2039, 5, 5], +[744904, 2039, 6, 24], +[744923, 2039, 7, 13], +[745072, 2039, 12, 9], +[745085, 2039, 12, 22], +[745171, 2040, 3, 17], +[745371, 2040, 10, 3], +[745539, 2041, 3, 20], +[745585, 2041, 5, 5], +[745678, 2041, 8, 6], +[745856, 2042, 1, 31], +[745915, 2042, 3, 31], +[745964, 2042, 5, 19], +[746020, 2042, 7, 14], +[746148, 2042, 11, 19], +[746202, 2043, 1, 12], +[746343, 2043, 6, 2], +[746483, 2043, 10, 20], +[746608, 2044, 2, 22], +[746699, 2044, 5, 23], +[746844, 2044, 10, 15], +[747028, 2045, 4, 17], +[747035, 2045, 4, 24], +[747174, 2045, 9, 10], +[747256, 2045, 12, 1], +[747428, 2046, 5, 22], +[747510, 2046, 8, 12], +[747701, 2047, 2, 19], +[747703, 2047, 2, 21], +[747766, 2047, 4, 25], +[747940, 2047, 10, 16], +[748093, 2048, 3, 17], +[748225, 2048, 7, 27], +[748280, 2048, 9, 20], +[748293, 2048, 10, 3], +[748467, 2049, 3, 26], +[748641, 2049, 9, 16], +[748698, 2049, 11, 12], +[748827, 2050, 3, 21], +[748870, 2050, 5, 3], +[749041, 2050, 10, 21], +[749130, 2051, 1, 18], +[749283, 2051, 6, 20], +[749328, 2051, 8, 4], +[749486, 2052, 1, 9], +[749633, 2052, 6, 4], +[749791, 2052, 11, 9], +[749810, 2052, 11, 28], +[749834, 2052, 12, 22], +[749884, 2053, 2, 10], +[749993, 2053, 5, 30], +[750002, 2053, 6, 8], +[750093, 2053, 9, 7], +[750275, 2054, 3, 8], +[750399, 2054, 7, 10], +[750550, 2054, 12, 8], +[750663, 2055, 3, 31], +[750856, 2055, 10, 10], +[751008, 2056, 3, 10], +[751118, 2056, 6, 28], +[751134, 2056, 7, 14], +[751193, 2056, 9, 11], +[751268, 2056, 11, 25], +[751440, 2057, 5, 16], +[751530, 2057, 8, 14], +[751534, 2057, 8, 18], +[751637, 2057, 11, 29], +[751652, 2057, 12, 14], +[751669, 2057, 12, 31], +[751692, 2058, 1, 23], +[751780, 2058, 4, 21], +[751803, 2058, 5, 14], +[751976, 2058, 11, 3], +[752056, 2059, 1, 22], +[752177, 2059, 5, 23], +[752253, 2059, 8, 7], +[752256, 2059, 8, 10], +[752276, 2059, 8, 30], +[752345, 2059, 11, 7], +[752465, 2060, 3, 6], +[752487, 2060, 3, 28], +[752578, 2060, 6, 27], +[752626, 2060, 8, 14], +[752778, 2061, 1, 13], +[752870, 2061, 4, 15], +[752964, 2061, 7, 18], +[753007, 2061, 8, 30], +[753070, 2061, 11, 1], +[753114, 2061, 12, 15], +[753264, 2062, 5, 14], +[753379, 2062, 9, 6], +[753495, 2062, 12, 31], +[753523, 2063, 1, 28], +[753593, 2063, 4, 8], +[753628, 2063, 5, 13], +[753810, 2063, 11, 11], +[754001, 2064, 5, 20], +[754199, 2064, 12, 4], +[754248, 2065, 1, 22], +[754302, 2065, 3, 17], +[754312, 2065, 3, 27], +[754503, 2065, 10, 4], +[754566, 2065, 12, 6], +[754748, 2066, 6, 6], +[754750, 2066, 6, 8], +[754774, 2066, 7, 2], +[754862, 2066, 9, 28], +[754986, 2067, 1, 30], +[755042, 2067, 3, 27], +[755082, 2067, 5, 6], +[755250, 2067, 10, 21], +[755437, 2068, 4, 25], +[755602, 2068, 10, 7], +[755692, 2069, 1, 5], +[755825, 2069, 5, 18], +[755928, 2069, 8, 29], +[755971, 2069, 10, 11], +[756112, 2070, 3, 1], +[756152, 2070, 4, 10], +[756331, 2070, 10, 6], +[756504, 2071, 3, 28], +[756593, 2071, 6, 25], +[756751, 2071, 11, 30], +[756755, 2071, 12, 4], +[756759, 2071, 12, 8], +[756902, 2072, 4, 29], +[756945, 2072, 6, 11], +[757006, 2072, 8, 11], +[757052, 2072, 9, 26], +[757135, 2072, 12, 18], +[757312, 2073, 6, 13], +[757314, 2073, 6, 15], +[757466, 2073, 11, 14], +[757612, 2074, 4, 9], +[757704, 2074, 7, 10], +[757834, 2074, 11, 17], +[757889, 2075, 1, 11], +[757921, 2075, 2, 12], +[757925, 2075, 2, 16], +[758045, 2075, 6, 16], +[758065, 2075, 7, 6], +[758263, 2076, 1, 20], +[758402, 2076, 6, 7], +[758530, 2076, 10, 13], +[758615, 2077, 1, 6], +[758674, 2077, 3, 6], +[758761, 2077, 6, 1], +[758853, 2077, 9, 1], +[759002, 2078, 1, 28], +[759004, 2078, 1, 30], +[759135, 2078, 6, 10], +[759156, 2078, 7, 1], +[759248, 2078, 10, 1], +[759412, 2079, 3, 14], +[759515, 2079, 6, 25], +[759636, 2079, 10, 24], +[759736, 2080, 2, 1], +[759912, 2080, 7, 26], +[760080, 2081, 1, 10], +[760143, 2081, 3, 14], +[760250, 2081, 6, 29], +[760282, 2081, 7, 31], +[760473, 2082, 2, 7], +[760586, 2082, 5, 31], +[760767, 2082, 11, 28], +[760836, 2083, 2, 5], +[761013, 2083, 8, 1], +[761053, 2083, 9, 10], +[761134, 2083, 11, 30], +[761154, 2083, 12, 20], +[761252, 2084, 3, 27], +[761423, 2084, 9, 14], +[761586, 2085, 2, 24], +[761780, 2085, 9, 6], +[761979, 2086, 3, 24], +[762126, 2086, 8, 18], +[762282, 2087, 1, 21], +[762427, 2087, 6, 15], +[762506, 2087, 9, 2], +[762564, 2087, 10, 30], +[762597, 2087, 12, 2], +[762731, 2088, 4, 14], +[762823, 2088, 7, 15], +[762905, 2088, 10, 5], +[762996, 2089, 1, 4], +[763115, 2089, 5, 3], +[763244, 2089, 9, 9], +[763308, 2089, 11, 12], +[763364, 2090, 1, 7], +[763458, 2090, 4, 11], +[763539, 2090, 7, 1], +[763596, 2090, 8, 27], +[763634, 2090, 10, 4], +[763683, 2090, 11, 22], +[763854, 2091, 5, 12], +[763871, 2091, 5, 29], +[763946, 2091, 8, 12], +[764027, 2091, 11, 1], +[764041, 2091, 11, 15], +[764102, 2092, 1, 15], +[764172, 2092, 3, 25], +[764182, 2092, 4, 4], +[764250, 2092, 6, 11], +[764348, 2092, 9, 17], +[764401, 2092, 11, 9], +[764542, 2093, 3, 30], +[764543, 2093, 3, 31], +[764571, 2093, 4, 28], +[764572, 2093, 4, 29], +[764604, 2093, 5, 31], +[764631, 2093, 6, 27], +[764680, 2093, 8, 15], +[764690, 2093, 8, 25], +[764757, 2093, 10, 31], +[764857, 2094, 2, 8], +[764993, 2094, 6, 24], +[765101, 2094, 10, 10], +[765258, 2095, 3, 16], +[765307, 2095, 5, 4], +[765469, 2095, 10, 13], +[765629, 2096, 3, 21], +[765725, 2096, 6, 25], +[765742, 2096, 7, 12], +[765752, 2096, 7, 22], +[765888, 2096, 12, 5], +[766068, 2097, 6, 3], +[766139, 2097, 8, 13], +[766211, 2097, 10, 24], +[766233, 2097, 11, 15], +[766346, 2098, 3, 8], +[766418, 2098, 5, 19], +[766528, 2098, 9, 6], +[766588, 2098, 11, 5], +[766755, 2099, 4, 21], +[766774, 2099, 5, 10], +[766863, 2099, 8, 7], +[766943, 2099, 10, 26], +[766953, 2099, 11, 5], +[766989, 2099, 12, 11], +[767145, 2100, 5, 16], +[767151, 2100, 5, 22], +[767217, 2100, 7, 27], +[767286, 2100, 10, 4], +[767305, 2100, 10, 23], +[767429, 2101, 2, 24], +[767508, 2101, 5, 14], +[767579, 2101, 7, 24], +[767751, 2102, 1, 12], +[767919, 2102, 6, 29], +[767958, 2102, 8, 7], +[768090, 2102, 12, 17], +[768251, 2103, 5, 27], +[768405, 2103, 10, 28], +[768543, 2104, 3, 14], +[768714, 2104, 9, 1], +[768857, 2105, 1, 22], +[769001, 2105, 6, 15], +[769084, 2105, 9, 6], +[769104, 2105, 9, 26], +[769167, 2105, 11, 28], +[769340, 2106, 5, 20], +[769452, 2106, 9, 9], +[769529, 2106, 11, 25], +[769718, 2107, 6, 2], +[769741, 2107, 6, 25], +[769779, 2107, 8, 2], +[769847, 2107, 10, 9], +[769961, 2108, 1, 31], +[770048, 2108, 4, 27], +[770098, 2108, 6, 16], +[770295, 2108, 12, 30], +[770378, 2109, 3, 23], +[770461, 2109, 6, 14], +[770653, 2109, 12, 23], +[770822, 2110, 6, 10], +[770919, 2110, 9, 15], +[771047, 2111, 1, 21], +[771208, 2111, 7, 1], +[771319, 2111, 10, 20], +[771446, 2112, 2, 24], +[771574, 2112, 7, 1], +[771742, 2112, 12, 16], +[771765, 2113, 1, 8], +[771808, 2113, 2, 20], +[771904, 2113, 5, 27], +[771934, 2113, 6, 26], +[772040, 2113, 10, 10], +[772058, 2113, 10, 28], +[772212, 2114, 3, 31], +[772261, 2114, 5, 19], +[772349, 2114, 8, 15], +[772472, 2114, 12, 16], +[772578, 2115, 4, 1], +[772617, 2115, 5, 10], +[772741, 2115, 9, 11], +[772761, 2115, 10, 1], +[772854, 2116, 1, 2], +[772951, 2116, 4, 8], +[773117, 2116, 9, 21], +[773266, 2117, 2, 17], +[773299, 2117, 3, 22], +[773388, 2117, 6, 19], +[773507, 2117, 10, 16], +[773575, 2117, 12, 23], +[773750, 2118, 6, 16], +[773946, 2118, 12, 29], +[774040, 2119, 4, 2], +[774195, 2119, 9, 4], +[774342, 2120, 1, 29], +[774509, 2120, 7, 14], +[774603, 2120, 10, 16], +[774624, 2120, 11, 6], +[774815, 2121, 5, 16], +[774984, 2121, 11, 1], +[775029, 2121, 12, 16], +[775164, 2122, 4, 30], +[775191, 2122, 5, 27], +[775349, 2122, 11, 1], +[775526, 2123, 4, 27], +[775673, 2123, 9, 21], +[775789, 2124, 1, 15], +[775873, 2124, 4, 8], +[775884, 2124, 4, 19], +[775885, 2124, 4, 20], +[775964, 2124, 7, 8], +[776076, 2124, 10, 28], +[776096, 2124, 11, 17], +[776107, 2124, 11, 28], +[776110, 2124, 12, 1], +[776228, 2125, 3, 29], +[776292, 2125, 6, 1], +[776420, 2125, 10, 7], +[776511, 2126, 1, 6], +[776548, 2126, 2, 12], +[776648, 2126, 5, 23], +[776733, 2126, 8, 16], +[776741, 2126, 8, 24], +[776810, 2126, 11, 1], +[776915, 2127, 2, 14], +[776982, 2127, 4, 22], +[777049, 2127, 6, 28], +[777104, 2127, 8, 22], +[777209, 2127, 12, 5], +[777227, 2127, 12, 23], +[777295, 2128, 2, 29], +[777384, 2128, 5, 28], +[777555, 2128, 11, 15], +[777731, 2129, 5, 10], +[777847, 2129, 9, 3], +[777898, 2129, 10, 24], +[777926, 2129, 11, 21], +[778017, 2130, 2, 20], +[778063, 2130, 4, 7], +[778233, 2130, 9, 24], +[778361, 2131, 1, 30], +[778452, 2131, 5, 1], +[778555, 2131, 8, 12], +[778733, 2132, 2, 6], +[778823, 2132, 5, 6], +[778888, 2132, 7, 10], +[778945, 2132, 9, 5], +[779049, 2132, 12, 18], +[779062, 2132, 12, 31], +[779157, 2133, 4, 5], +[779356, 2133, 10, 21], +[779520, 2134, 4, 3], +[779676, 2134, 9, 6], +[779768, 2134, 12, 7], +[779918, 2135, 5, 6], +[780004, 2135, 7, 31], +[780161, 2136, 1, 4], +[780329, 2136, 6, 20], +[780496, 2136, 12, 4], +[780530, 2137, 1, 7], +[780706, 2137, 7, 2], +[780750, 2137, 8, 15], +[780764, 2137, 8, 29], +[780846, 2137, 11, 19], +[781025, 2138, 5, 17], +[781091, 2138, 7, 22], +[781096, 2138, 7, 27], +[781198, 2138, 11, 6], +[781226, 2138, 12, 4], +[781348, 2139, 4, 5], +[781547, 2139, 10, 21], +[781562, 2139, 11, 5], +[781597, 2139, 12, 10], +[781764, 2140, 5, 25], +[781808, 2140, 7, 8], +[781941, 2140, 11, 18], +[782103, 2141, 4, 29], +[782239, 2141, 9, 12], +[782396, 2142, 2, 16], +[782579, 2142, 8, 18], +[782698, 2142, 12, 15], +[782719, 2143, 1, 5], +[782860, 2143, 5, 26], +[782990, 2143, 10, 3], +[783027, 2143, 11, 9], +[783202, 2144, 5, 2], +[783259, 2144, 6, 28], +[783319, 2144, 8, 27], +[783489, 2145, 2, 13], +[783608, 2145, 6, 12], +[783679, 2145, 8, 22], +[783741, 2145, 10, 23], +[783936, 2146, 5, 6], +[784029, 2146, 8, 7], +[784033, 2146, 8, 11], +[784135, 2146, 11, 21], +[784181, 2147, 1, 6], +[784340, 2147, 6, 14], +[784420, 2147, 9, 2], +[784516, 2147, 12, 7], +[784518, 2147, 12, 9], +[784632, 2148, 4, 1], +[784783, 2148, 8, 30], +[784787, 2148, 9, 3], +[784968, 2149, 3, 3], +[785067, 2149, 6, 10], +[785243, 2149, 12, 3], +[785399, 2150, 5, 8], +[785531, 2150, 9, 17], +[785696, 2151, 3, 1], +[785840, 2151, 7, 23], +[786033, 2152, 2, 1], +[786098, 2152, 4, 6], +[786184, 2152, 7, 1], +[786202, 2152, 7, 19], +[786385, 2153, 1, 18], +[786463, 2153, 4, 6], +[786577, 2153, 7, 29], +[786697, 2153, 11, 26], +[786848, 2154, 4, 26], +[787023, 2154, 10, 18], +[787153, 2155, 2, 25], +[787166, 2155, 3, 10], +[787295, 2155, 7, 17], +[787421, 2155, 11, 20], +[787448, 2155, 12, 17], +[787615, 2156, 6, 1], +[787759, 2156, 10, 23], +[787800, 2156, 12, 3], +[787846, 2157, 1, 18], +[788022, 2157, 7, 13], +[788063, 2157, 8, 23], +[788261, 2158, 3, 9], +[788277, 2158, 3, 25], +[788425, 2158, 8, 20], +[788602, 2159, 2, 13], +[788734, 2159, 6, 25], +[788872, 2159, 11, 10], +[788903, 2159, 12, 11], +[789025, 2160, 4, 11], +[789094, 2160, 6, 19], +[789215, 2160, 10, 18], +[789320, 2161, 1, 31], +[789433, 2161, 5, 24], +[789504, 2161, 8, 3], +[789681, 2162, 1, 27], +[789685, 2162, 1, 31], +[789786, 2162, 5, 12], +[789901, 2162, 9, 4], +[789981, 2162, 11, 23], +[790123, 2163, 4, 14], +[790198, 2163, 6, 28], +[790237, 2163, 8, 6], +[790353, 2163, 11, 30], +[790474, 2164, 3, 30], +[790508, 2164, 5, 3], +[790589, 2164, 7, 23], +[790707, 2164, 11, 18], +[790865, 2165, 4, 25], +[790984, 2165, 8, 22], +[791138, 2166, 1, 23], +[791308, 2166, 7, 12], +[791493, 2167, 1, 13], +[791518, 2167, 2, 7], +[791636, 2167, 6, 5], +[791666, 2167, 7, 5], +[791737, 2167, 9, 14], +[791898, 2168, 2, 22], +[792069, 2168, 8, 11], +[792234, 2169, 1, 23], +[792259, 2169, 2, 17], +[792263, 2169, 2, 21], +[792317, 2169, 4, 16], +[792492, 2169, 10, 8], +[792658, 2170, 3, 23], +[792681, 2170, 4, 15], +[792780, 2170, 7, 23], +[792890, 2170, 11, 10], +[792965, 2171, 1, 24], +[793165, 2171, 8, 12], +[793349, 2172, 2, 12], +[793351, 2172, 2, 14], +[793531, 2172, 8, 12], +[793577, 2172, 9, 27], +[793749, 2173, 3, 18], +[793867, 2173, 7, 14], +[793909, 2173, 8, 25], +[794082, 2174, 2, 14], +[794143, 2174, 4, 16], +[794207, 2174, 6, 19], +[794296, 2174, 9, 16], +[794362, 2174, 11, 21], +[794414, 2175, 1, 12], +[794552, 2175, 5, 30], +[794571, 2175, 6, 18], +[794672, 2175, 9, 27], +[794797, 2176, 1, 30], +[794930, 2176, 6, 11], +[795127, 2176, 12, 25], +[795251, 2177, 4, 28], +[795350, 2177, 8, 5], +[795463, 2177, 11, 26], +[795477, 2177, 12, 10], +[795558, 2178, 3, 1], +[795609, 2178, 4, 21], +[795759, 2178, 9, 18], +[795933, 2179, 3, 11], +[795938, 2179, 3, 16], +[796130, 2179, 9, 24], +[796288, 2180, 2, 29], +[796455, 2180, 8, 14], +[796598, 2181, 1, 4], +[796742, 2181, 5, 28], +[796905, 2181, 11, 7], +[796925, 2181, 11, 27], +[796970, 2182, 1, 11], +[797022, 2182, 3, 4], +[797175, 2182, 8, 4], +[797237, 2182, 10, 5], +[797282, 2182, 11, 19], +[797343, 2183, 1, 19], +[797394, 2183, 3, 11], +[797564, 2183, 8, 28], +[797701, 2184, 1, 12], +[797714, 2184, 1, 25], +[797744, 2184, 2, 24], +[797811, 2184, 5, 1], +[797972, 2184, 10, 9], +[798049, 2184, 12, 25], +[798182, 2185, 5, 7], +[798312, 2185, 9, 14], +[798337, 2185, 10, 9], +[798396, 2185, 12, 7], +[798511, 2186, 4, 1], +[798585, 2186, 6, 14], +[798705, 2186, 10, 12], +[798831, 2187, 2, 15], +[799003, 2187, 8, 6], +[799126, 2187, 12, 7], +[799323, 2188, 6, 21], +[799359, 2188, 7, 27], +[799540, 2189, 1, 24], +[799706, 2189, 7, 9], +[799762, 2189, 9, 3], +[799773, 2189, 9, 14], +[799951, 2190, 3, 11], +[799991, 2190, 4, 20], +[800085, 2190, 7, 23], +[800121, 2190, 8, 28], +[800259, 2191, 1, 13], +[800364, 2191, 4, 28], +[800549, 2191, 10, 30], +[800728, 2192, 4, 26], +[800892, 2192, 10, 7], +[800938, 2192, 11, 22], +[801129, 2193, 6, 1], +[801232, 2193, 9, 12], +[801265, 2193, 10, 15], +[801447, 2194, 4, 15], +[801532, 2194, 7, 9], +[801646, 2194, 10, 31], +[801705, 2194, 12, 29], +[801892, 2195, 7, 4], +[801973, 2195, 9, 23], +[801995, 2195, 10, 15], +[802139, 2196, 3, 7], +[802243, 2196, 6, 19], +[802406, 2196, 11, 29], +[802480, 2197, 2, 11], +[802559, 2197, 5, 1], +[802655, 2197, 8, 5], +[802735, 2197, 10, 24], +[802830, 2198, 1, 27], +[802833, 2198, 1, 30], +[802839, 2198, 2, 5], +[803037, 2198, 8, 22], +[803139, 2198, 12, 2], +[803207, 2199, 2, 8], +[803341, 2199, 6, 22], +[803479, 2199, 11, 7], +[803679, 2200, 5, 26], +[803737, 2200, 7, 23], +[803775, 2200, 8, 30], +[803914, 2201, 1, 16], +[803976, 2201, 3, 19], +[804027, 2201, 5, 9], +[804144, 2201, 9, 3], +[804257, 2201, 12, 25], +[804373, 2202, 4, 20], +[804402, 2202, 5, 19], +[804482, 2202, 8, 7], +[804603, 2202, 12, 6], +[804736, 2203, 4, 18], +[804747, 2203, 4, 29], +[804881, 2203, 9, 10], +[805059, 2204, 3, 6], +[805077, 2204, 3, 24], +[805146, 2204, 6, 1], +[805250, 2204, 9, 13], +[805268, 2204, 10, 1], +[805442, 2205, 3, 24], +[805592, 2205, 8, 21], +[805702, 2205, 12, 9], +[805748, 2206, 1, 24], +[805848, 2206, 5, 4], +[805868, 2206, 5, 24], +[806052, 2206, 11, 24], +[806095, 2207, 1, 6], +[806200, 2207, 4, 21], +[806321, 2207, 8, 20], +[806503, 2208, 2, 18], +[806673, 2208, 8, 6], +[806686, 2208, 8, 19], +[806759, 2208, 10, 31], +[806785, 2208, 11, 26], +[806846, 2209, 1, 26], +[806914, 2209, 4, 4], +[807038, 2209, 8, 6], +[807226, 2210, 2, 10], +[807365, 2210, 6, 29], +[807460, 2210, 10, 2], +[807474, 2210, 10, 16], +[807584, 2211, 2, 3], +[807756, 2211, 7, 25], +[807825, 2211, 10, 2], +[807913, 2211, 12, 29], +[808060, 2212, 5, 24], +[808223, 2212, 11, 3], +[808282, 2213, 1, 1], +[808412, 2213, 5, 11], +[808437, 2213, 6, 5], +[808532, 2213, 9, 8], +[808560, 2213, 10, 6], +[808658, 2214, 1, 12], +[808742, 2214, 4, 6], +[808860, 2214, 8, 2], +[808939, 2214, 10, 20], +[809027, 2215, 1, 16], +[809192, 2215, 6, 30], +[809354, 2215, 12, 9], +[809474, 2216, 4, 7], +[809525, 2216, 5, 28], +[809649, 2216, 9, 29], +[809757, 2217, 1, 15], +[809780, 2217, 2, 7], +[809857, 2217, 4, 25], +[809958, 2217, 8, 4], +[810126, 2218, 1, 19], +[810162, 2218, 2, 24], +[810188, 2218, 3, 22], +[810269, 2218, 6, 11], +[810378, 2218, 9, 28], +[810422, 2218, 11, 11], +[810508, 2219, 2, 5], +[810540, 2219, 3, 9], +[810707, 2219, 8, 23], +[810761, 2219, 10, 16], +[810888, 2220, 2, 20], +[811066, 2220, 8, 16], +[811178, 2220, 12, 6], +[811205, 2221, 1, 2], +[811391, 2221, 7, 7], +[811533, 2221, 11, 26], +[811691, 2222, 5, 3], +[811775, 2222, 7, 26], +[811895, 2222, 11, 23], +[812019, 2223, 3, 27], +[812144, 2223, 7, 30], +[812274, 2223, 12, 7], +[812275, 2223, 12, 8], +[812406, 2224, 4, 17], +[812554, 2224, 9, 12], +[812721, 2225, 2, 26], +[812897, 2225, 8, 21], +[813053, 2226, 1, 24], +[813252, 2226, 8, 11], +[813360, 2226, 11, 27], +[813385, 2226, 12, 22], +[813529, 2227, 5, 15], +[813548, 2227, 6, 3], +[813566, 2227, 6, 21], +[813693, 2227, 10, 26], +[813808, 2228, 2, 18], +[813818, 2228, 2, 28], +[813879, 2228, 4, 29], +[813972, 2228, 7, 31], +[814080, 2228, 11, 16], +[814132, 2229, 1, 7], +[814248, 2229, 5, 3], +[814268, 2229, 5, 23], +[814331, 2229, 7, 25], +[814451, 2229, 11, 22], +[814455, 2229, 11, 26], +[814592, 2230, 4, 12], +[814713, 2230, 8, 11], +[814788, 2230, 10, 25], +[814899, 2231, 2, 13], +[814978, 2231, 5, 3], +[815028, 2231, 6, 22], +[815083, 2231, 8, 16], +[815151, 2231, 10, 23], +[815248, 2232, 1, 28], +[815333, 2232, 4, 22], +[815429, 2232, 7, 27], +[815609, 2233, 1, 23], +[815772, 2233, 7, 5], +[815878, 2233, 10, 19], +[815911, 2233, 11, 21], +[815942, 2233, 12, 22], +[816116, 2234, 6, 14], +[816195, 2234, 9, 1], +[816218, 2234, 9, 24], +[816318, 2235, 1, 2], +[816511, 2235, 7, 14], +[816521, 2235, 7, 24], +[816536, 2235, 8, 8], +[816605, 2235, 10, 16], +[816631, 2235, 11, 11], +[816702, 2236, 1, 21], +[816900, 2236, 8, 6], +[817062, 2237, 1, 15], +[817223, 2237, 6, 25], +[817385, 2237, 12, 4], +[817504, 2238, 4, 2], +[817532, 2238, 4, 30], +[817675, 2238, 9, 20], +[817689, 2238, 10, 4], +[817854, 2239, 3, 18], +[818017, 2239, 8, 28], +[818153, 2240, 1, 11], +[818255, 2240, 4, 22], +[818416, 2240, 9, 30], +[818607, 2241, 4, 9], +[818781, 2241, 9, 30], +[818900, 2242, 1, 27], +[818975, 2242, 4, 12], +[819127, 2242, 9, 11], +[819130, 2242, 9, 14], +[819171, 2242, 10, 25], +[819280, 2243, 2, 11], +[819333, 2243, 4, 5], +[819452, 2243, 8, 2], +[819571, 2243, 11, 29], +[819678, 2244, 3, 15], +[819702, 2244, 4, 8], +[819799, 2244, 7, 14], +[819937, 2244, 11, 29], +[820005, 2245, 2, 5], +[820148, 2245, 6, 28], +[820299, 2245, 11, 26], +[820337, 2246, 1, 3], +[820379, 2246, 2, 14], +[820441, 2246, 4, 17], +[820531, 2246, 7, 16], +[820565, 2246, 8, 19], +[820736, 2247, 2, 6], +[820895, 2247, 7, 15], +[820999, 2247, 10, 27], +[821186, 2248, 5, 1], +[821205, 2248, 5, 20], +[821217, 2248, 6, 1], +[821358, 2248, 10, 20], +[821393, 2248, 11, 24], +[821532, 2249, 4, 12], +[821568, 2249, 5, 18], +[821735, 2249, 11, 1], +[821867, 2250, 3, 13], +[821884, 2250, 3, 30]] diff --git a/go/mysql/datetime/testdata/year_to_daynr.json b/go/mysql/datetime/testdata/year_to_daynr.json new file mode 100644 index 00000000000..43914806d21 --- /dev/null +++ b/go/mysql/datetime/testdata/year_to_daynr.json @@ -0,0 +1 @@ +[1, 366, 731, 1096, 1461, 1827, 2192, 2557, 2922, 3288, 3653, 4018, 4383, 4749, 5114, 5479, 5844, 6210, 6575, 6940, 7305, 7671, 8036, 8401, 8766, 9132, 9497, 9862, 10227, 10593, 10958, 11323, 11688, 12054, 12419, 12784, 13149, 13515, 13880, 14245, 14610, 14976, 15341, 15706, 16071, 16437, 16802, 17167, 17532, 17898, 18263, 18628, 18993, 19359, 19724, 20089, 20454, 20820, 21185, 21550, 21915, 22281, 22646, 23011, 23376, 23742, 24107, 24472, 24837, 25203, 25568, 25933, 26298, 26664, 27029, 27394, 27759, 28125, 28490, 28855, 29220, 29586, 29951, 30316, 30681, 31047, 31412, 31777, 32142, 32508, 32873, 33238, 33603, 33969, 34334, 34699, 35064, 35430, 35795, 36160, 36525, 36890, 37255, 37620, 37985, 38351, 38716, 39081, 39446, 39812, 40177, 40542, 40907, 41273, 41638, 42003, 42368, 42734, 43099, 43464, 43829, 44195, 44560, 44925, 45290, 45656, 46021, 46386, 46751, 47117, 47482, 47847, 48212, 48578, 48943, 49308, 49673, 50039, 50404, 50769, 51134, 51500, 51865, 52230, 52595, 52961, 53326, 53691, 54056, 54422, 54787, 55152, 55517, 55883, 56248, 56613, 56978, 57344, 57709, 58074, 58439, 58805, 59170, 59535, 59900, 60266, 60631, 60996, 61361, 61727, 62092, 62457, 62822, 63188, 63553, 63918, 64283, 64649, 65014, 65379, 65744, 66110, 66475, 66840, 67205, 67571, 67936, 68301, 68666, 69032, 69397, 69762, 70127, 70493, 70858, 71223, 71588, 71954, 72319, 72684, 73049, 73414, 73779, 74144, 74509, 74875, 75240, 75605, 75970, 76336, 76701, 77066, 77431, 77797, 78162, 78527, 78892, 79258, 79623, 79988, 80353, 80719, 81084, 81449, 81814, 82180, 82545, 82910, 83275, 83641, 84006, 84371, 84736, 85102, 85467, 85832, 86197, 86563, 86928, 87293, 87658, 88024, 88389, 88754, 89119, 89485, 89850, 90215, 90580, 90946, 91311, 91676, 92041, 92407, 92772, 93137, 93502, 93868, 94233, 94598, 94963, 95329, 95694, 96059, 96424, 96790, 97155, 97520, 97885, 98251, 98616, 98981, 99346, 99712, 100077, 100442, 100807, 101173, 101538, 101903, 102268, 102634, 102999, 103364, 103729, 104095, 104460, 104825, 105190, 105556, 105921, 106286, 106651, 107017, 107382, 107747, 108112, 108478, 108843, 109208, 109573, 109938, 110303, 110668, 111033, 111399, 111764, 112129, 112494, 112860, 113225, 113590, 113955, 114321, 114686, 115051, 115416, 115782, 116147, 116512, 116877, 117243, 117608, 117973, 118338, 118704, 119069, 119434, 119799, 120165, 120530, 120895, 121260, 121626, 121991, 122356, 122721, 123087, 123452, 123817, 124182, 124548, 124913, 125278, 125643, 126009, 126374, 126739, 127104, 127470, 127835, 128200, 128565, 128931, 129296, 129661, 130026, 130392, 130757, 131122, 131487, 131853, 132218, 132583, 132948, 133314, 133679, 134044, 134409, 134775, 135140, 135505, 135870, 136236, 136601, 136966, 137331, 137697, 138062, 138427, 138792, 139158, 139523, 139888, 140253, 140619, 140984, 141349, 141714, 142080, 142445, 142810, 143175, 143541, 143906, 144271, 144636, 145002, 145367, 145732, 146097, 146463, 146828, 147193, 147558, 147924, 148289, 148654, 149019, 149385, 149750, 150115, 150480, 150846, 151211, 151576, 151941, 152307, 152672, 153037, 153402, 153768, 154133, 154498, 154863, 155229, 155594, 155959, 156324, 156690, 157055, 157420, 157785, 158151, 158516, 158881, 159246, 159612, 159977, 160342, 160707, 161073, 161438, 161803, 162168, 162534, 162899, 163264, 163629, 163995, 164360, 164725, 165090, 165456, 165821, 166186, 166551, 166917, 167282, 167647, 168012, 168378, 168743, 169108, 169473, 169839, 170204, 170569, 170934, 171300, 171665, 172030, 172395, 172761, 173126, 173491, 173856, 174222, 174587, 174952, 175317, 175683, 176048, 176413, 176778, 177144, 177509, 177874, 178239, 178605, 178970, 179335, 179700, 180066, 180431, 180796, 181161, 181527, 181892, 182257, 182622, 182987, 183352, 183717, 184082, 184448, 184813, 185178, 185543, 185909, 186274, 186639, 187004, 187370, 187735, 188100, 188465, 188831, 189196, 189561, 189926, 190292, 190657, 191022, 191387, 191753, 192118, 192483, 192848, 193214, 193579, 193944, 194309, 194675, 195040, 195405, 195770, 196136, 196501, 196866, 197231, 197597, 197962, 198327, 198692, 199058, 199423, 199788, 200153, 200519, 200884, 201249, 201614, 201980, 202345, 202710, 203075, 203441, 203806, 204171, 204536, 204902, 205267, 205632, 205997, 206363, 206728, 207093, 207458, 207824, 208189, 208554, 208919, 209285, 209650, 210015, 210380, 210746, 211111, 211476, 211841, 212207, 212572, 212937, 213302, 213668, 214033, 214398, 214763, 215129, 215494, 215859, 216224, 216590, 216955, 217320, 217685, 218051, 218416, 218781, 219146, 219511, 219876, 220241, 220606, 220972, 221337, 221702, 222067, 222433, 222798, 223163, 223528, 223894, 224259, 224624, 224989, 225355, 225720, 226085, 226450, 226816, 227181, 227546, 227911, 228277, 228642, 229007, 229372, 229738, 230103, 230468, 230833, 231199, 231564, 231929, 232294, 232660, 233025, 233390, 233755, 234121, 234486, 234851, 235216, 235582, 235947, 236312, 236677, 237043, 237408, 237773, 238138, 238504, 238869, 239234, 239599, 239965, 240330, 240695, 241060, 241426, 241791, 242156, 242521, 242887, 243252, 243617, 243982, 244348, 244713, 245078, 245443, 245809, 246174, 246539, 246904, 247270, 247635, 248000, 248365, 248731, 249096, 249461, 249826, 250192, 250557, 250922, 251287, 251653, 252018, 252383, 252748, 253114, 253479, 253844, 254209, 254575, 254940, 255305, 255670, 256035, 256400, 256765, 257130, 257496, 257861, 258226, 258591, 258957, 259322, 259687, 260052, 260418, 260783, 261148, 261513, 261879, 262244, 262609, 262974, 263340, 263705, 264070, 264435, 264801, 265166, 265531, 265896, 266262, 266627, 266992, 267357, 267723, 268088, 268453, 268818, 269184, 269549, 269914, 270279, 270645, 271010, 271375, 271740, 272106, 272471, 272836, 273201, 273567, 273932, 274297, 274662, 275028, 275393, 275758, 276123, 276489, 276854, 277219, 277584, 277950, 278315, 278680, 279045, 279411, 279776, 280141, 280506, 280872, 281237, 281602, 281967, 282333, 282698, 283063, 283428, 283794, 284159, 284524, 284889, 285255, 285620, 285985, 286350, 286716, 287081, 287446, 287811, 288177, 288542, 288907, 289272, 289638, 290003, 290368, 290733, 291099, 291464, 291829, 292194, 292560, 292925, 293290, 293655, 294021, 294386, 294751, 295116, 295482, 295847, 296212, 296577, 296943, 297308, 297673, 298038, 298404, 298769, 299134, 299499, 299865, 300230, 300595, 300960, 301326, 301691, 302056, 302421, 302787, 303152, 303517, 303882, 304248, 304613, 304978, 305343, 305709, 306074, 306439, 306804, 307170, 307535, 307900, 308265, 308631, 308996, 309361, 309726, 310092, 310457, 310822, 311187, 311553, 311918, 312283, 312648, 313014, 313379, 313744, 314109, 314475, 314840, 315205, 315570, 315936, 316301, 316666, 317031, 317397, 317762, 318127, 318492, 318858, 319223, 319588, 319953, 320319, 320684, 321049, 321414, 321780, 322145, 322510, 322875, 323241, 323606, 323971, 324336, 324702, 325067, 325432, 325797, 326163, 326528, 326893, 327258, 327624, 327989, 328354, 328719, 329084, 329449, 329814, 330179, 330545, 330910, 331275, 331640, 332006, 332371, 332736, 333101, 333467, 333832, 334197, 334562, 334928, 335293, 335658, 336023, 336389, 336754, 337119, 337484, 337850, 338215, 338580, 338945, 339311, 339676, 340041, 340406, 340772, 341137, 341502, 341867, 342233, 342598, 342963, 343328, 343694, 344059, 344424, 344789, 345155, 345520, 345885, 346250, 346616, 346981, 347346, 347711, 348077, 348442, 348807, 349172, 349538, 349903, 350268, 350633, 350999, 351364, 351729, 352094, 352460, 352825, 353190, 353555, 353921, 354286, 354651, 355016, 355382, 355747, 356112, 356477, 356843, 357208, 357573, 357938, 358304, 358669, 359034, 359399, 359765, 360130, 360495, 360860, 361226, 361591, 361956, 362321, 362687, 363052, 363417, 363782, 364148, 364513, 364878, 365243, 365608, 365973, 366338, 366703, 367069, 367434, 367799, 368164, 368530, 368895, 369260, 369625, 369991, 370356, 370721, 371086, 371452, 371817, 372182, 372547, 372913, 373278, 373643, 374008, 374374, 374739, 375104, 375469, 375835, 376200, 376565, 376930, 377296, 377661, 378026, 378391, 378757, 379122, 379487, 379852, 380218, 380583, 380948, 381313, 381679, 382044, 382409, 382774, 383140, 383505, 383870, 384235, 384601, 384966, 385331, 385696, 386062, 386427, 386792, 387157, 387523, 387888, 388253, 388618, 388984, 389349, 389714, 390079, 390445, 390810, 391175, 391540, 391906, 392271, 392636, 393001, 393367, 393732, 394097, 394462, 394828, 395193, 395558, 395923, 396289, 396654, 397019, 397384, 397750, 398115, 398480, 398845, 399211, 399576, 399941, 400306, 400672, 401037, 401402, 401767, 402132, 402497, 402862, 403227, 403593, 403958, 404323, 404688, 405054, 405419, 405784, 406149, 406515, 406880, 407245, 407610, 407976, 408341, 408706, 409071, 409437, 409802, 410167, 410532, 410898, 411263, 411628, 411993, 412359, 412724, 413089, 413454, 413820, 414185, 414550, 414915, 415281, 415646, 416011, 416376, 416742, 417107, 417472, 417837, 418203, 418568, 418933, 419298, 419664, 420029, 420394, 420759, 421125, 421490, 421855, 422220, 422586, 422951, 423316, 423681, 424047, 424412, 424777, 425142, 425508, 425873, 426238, 426603, 426969, 427334, 427699, 428064, 428430, 428795, 429160, 429525, 429891, 430256, 430621, 430986, 431352, 431717, 432082, 432447, 432813, 433178, 433543, 433908, 434274, 434639, 435004, 435369, 435735, 436100, 436465, 436830, 437196, 437561, 437926, 438291, 438657, 439022, 439387, 439752, 440118, 440483, 440848, 441213, 441579, 441944, 442309, 442674, 443040, 443405, 443770, 444135, 444501, 444866, 445231, 445596, 445962, 446327, 446692, 447057, 447423, 447788, 448153, 448518, 448884, 449249, 449614, 449979, 450345, 450710, 451075, 451440, 451806, 452171, 452536, 452901, 453267, 453632, 453997, 454362, 454728, 455093, 455458, 455823, 456189, 456554, 456919, 457284, 457650, 458015, 458380, 458745, 459111, 459476, 459841, 460206, 460572, 460937, 461302, 461667, 462033, 462398, 462763, 463128, 463494, 463859, 464224, 464589, 464955, 465320, 465685, 466050, 466416, 466781, 467146, 467511, 467877, 468242, 468607, 468972, 469338, 469703, 470068, 470433, 470799, 471164, 471529, 471894, 472260, 472625, 472990, 473355, 473721, 474086, 474451, 474816, 475181, 475546, 475911, 476276, 476642, 477007, 477372, 477737, 478103, 478468, 478833, 479198, 479564, 479929, 480294, 480659, 481025, 481390, 481755, 482120, 482486, 482851, 483216, 483581, 483947, 484312, 484677, 485042, 485408, 485773, 486138, 486503, 486869, 487234, 487599, 487964, 488330, 488695, 489060, 489425, 489791, 490156, 490521, 490886, 491252, 491617, 491982, 492347, 492713, 493078, 493443, 493808, 494174, 494539, 494904, 495269, 495635, 496000, 496365, 496730, 497096, 497461, 497826, 498191, 498557, 498922, 499287, 499652, 500018, 500383, 500748, 501113, 501479, 501844, 502209, 502574, 502940, 503305, 503670, 504035, 504401, 504766, 505131, 505496, 505862, 506227, 506592, 506957, 507323, 507688, 508053, 508418, 508784, 509149, 509514, 509879, 510245, 510610, 510975, 511340, 511705, 512070, 512435, 512800, 513166, 513531, 513896, 514261, 514627, 514992, 515357, 515722, 516088, 516453, 516818, 517183, 517549, 517914, 518279, 518644, 519010, 519375, 519740, 520105, 520471, 520836, 521201, 521566, 521932, 522297, 522662, 523027, 523393, 523758, 524123, 524488, 524854, 525219, 525584, 525949, 526315, 526680, 527045, 527410, 527776, 528141, 528506, 528871, 529237, 529602, 529967, 530332, 530698, 531063, 531428, 531793, 532159, 532524, 532889, 533254, 533620, 533985, 534350, 534715, 535081, 535446, 535811, 536176, 536542, 536907, 537272, 537637, 538003, 538368, 538733, 539098, 539464, 539829, 540194, 540559, 540925, 541290, 541655, 542020, 542386, 542751, 543116, 543481, 543847, 544212, 544577, 544942, 545308, 545673, 546038, 546403, 546769, 547134, 547499, 547864, 548229, 548594, 548959, 549324, 549690, 550055, 550420, 550785, 551151, 551516, 551881, 552246, 552612, 552977, 553342, 553707, 554073, 554438, 554803, 555168, 555534, 555899, 556264, 556629, 556995, 557360, 557725, 558090, 558456, 558821, 559186, 559551, 559917, 560282, 560647, 561012, 561378, 561743, 562108, 562473, 562839, 563204, 563569, 563934, 564300, 564665, 565030, 565395, 565761, 566126, 566491, 566856, 567222, 567587, 567952, 568317, 568683, 569048, 569413, 569778, 570144, 570509, 570874, 571239, 571605, 571970, 572335, 572700, 573066, 573431, 573796, 574161, 574527, 574892, 575257, 575622, 575988, 576353, 576718, 577083, 577449, 577814, 578179, 578544, 578910, 579275, 579640, 580005, 580371, 580736, 581101, 581466, 581832, 582197, 582562, 582927, 583293, 583658, 584023, 584388, 584754, 585119, 585484, 585849, 586215, 586580, 586945, 587310, 587676, 588041, 588406, 588771, 589137, 589502, 589867, 590232, 590598, 590963, 591328, 591693, 592059, 592424, 592789, 593154, 593520, 593885, 594250, 594615, 594981, 595346, 595711, 596076, 596442, 596807, 597172, 597537, 597903, 598268, 598633, 598998, 599364, 599729, 600094, 600459, 600825, 601190, 601555, 601920, 602286, 602651, 603016, 603381, 603747, 604112, 604477, 604842, 605208, 605573, 605938, 606303, 606669, 607034, 607399, 607764, 608130, 608495, 608860, 609225, 609591, 609956, 610321, 610686, 611052, 611417, 611782, 612147, 612513, 612878, 613243, 613608, 613974, 614339, 614704, 615069, 615435, 615800, 616165, 616530, 616896, 617261, 617626, 617991, 618357, 618722, 619087, 619452, 619818, 620183, 620548, 620913, 621278, 621643, 622008, 622373, 622739, 623104, 623469, 623834, 624200, 624565, 624930, 625295, 625661, 626026, 626391, 626756, 627122, 627487, 627852, 628217, 628583, 628948, 629313, 629678, 630044, 630409, 630774, 631139, 631505, 631870, 632235, 632600, 632966, 633331, 633696, 634061, 634427, 634792, 635157, 635522, 635888, 636253, 636618, 636983, 637349, 637714, 638079, 638444, 638810, 639175, 639540, 639905, 640271, 640636, 641001, 641366, 641732, 642097, 642462, 642827, 643193, 643558, 643923, 644288, 644654, 645019, 645384, 645749, 646115, 646480, 646845, 647210, 647576, 647941, 648306, 648671, 649037, 649402, 649767, 650132, 650498, 650863, 651228, 651593, 651959, 652324, 652689, 653054, 653420, 653785, 654150, 654515, 654881, 655246, 655611, 655976, 656342, 656707, 657072, 657437, 657802, 658167, 658532, 658897, 659263, 659628, 659993, 660358, 660724, 661089, 661454, 661819, 662185, 662550, 662915, 663280, 663646, 664011, 664376, 664741, 665107, 665472, 665837, 666202, 666568, 666933, 667298, 667663, 668029, 668394, 668759, 669124, 669490, 669855, 670220, 670585, 670951, 671316, 671681, 672046, 672412, 672777, 673142, 673507, 673873, 674238, 674603, 674968, 675334, 675699, 676064, 676429, 676795, 677160, 677525, 677890, 678256, 678621, 678986, 679351, 679717, 680082, 680447, 680812, 681178, 681543, 681908, 682273, 682639, 683004, 683369, 683734, 684100, 684465, 684830, 685195, 685561, 685926, 686291, 686656, 687022, 687387, 687752, 688117, 688483, 688848, 689213, 689578, 689944, 690309, 690674, 691039, 691405, 691770, 692135, 692500, 692866, 693231, 693596, 693961, 694326, 694691, 695056, 695421, 695787, 696152, 696517, 696882, 697248, 697613, 697978, 698343, 698709, 699074, 699439, 699804, 700170, 700535, 700900, 701265, 701631, 701996, 702361, 702726, 703092, 703457, 703822, 704187, 704553, 704918, 705283, 705648, 706014, 706379, 706744, 707109, 707475, 707840, 708205, 708570, 708936, 709301, 709666, 710031, 710397, 710762, 711127, 711492, 711858, 712223, 712588, 712953, 713319, 713684, 714049, 714414, 714780, 715145, 715510, 715875, 716241, 716606, 716971, 717336, 717702, 718067, 718432, 718797, 719163, 719528, 719893, 720258, 720624, 720989, 721354, 721719, 722085, 722450, 722815, 723180, 723546, 723911, 724276, 724641, 725007, 725372, 725737, 726102, 726468, 726833, 727198, 727563, 727929, 728294, 728659, 729024, 729390, 729755, 730120, 730485, 730851, 731216, 731581, 731946, 732312, 732677, 733042, 733407, 733773, 734138, 734503, 734868, 735234, 735599, 735964, 736329, 736695, 737060, 737425, 737790, 738156, 738521, 738886, 739251, 739617, 739982, 740347, 740712, 741078, 741443, 741808, 742173, 742539, 742904, 743269, 743634, 744000, 744365, 744730, 745095, 745461, 745826, 746191, 746556, 746922, 747287, 747652, 748017, 748383, 748748, 749113, 749478, 749844, 750209, 750574, 750939, 751305, 751670, 752035, 752400, 752766, 753131, 753496, 753861, 754227, 754592, 754957, 755322, 755688, 756053, 756418, 756783, 757149, 757514, 757879, 758244, 758610, 758975, 759340, 759705, 760071, 760436, 760801, 761166, 761532, 761897, 762262, 762627, 762993, 763358, 763723, 764088, 764454, 764819, 765184, 765549, 765915, 766280, 766645] \ No newline at end of file diff --git a/go/mysql/datetime/timeparts.go b/go/mysql/datetime/timeparts.go index 32bda00ef43..2c25acc9653 100644 --- a/go/mysql/datetime/timeparts.go +++ b/go/mysql/datetime/timeparts.go @@ -86,3 +86,7 @@ func (tp *timeparts) toDateTime(prec int) (DateTime, int, bool) { func (tp *timeparts) isZero() bool { return tp.year == 0 && tp.month == 0 && tp.day == 0 && tp.hour == 0 && tp.min == 0 && tp.sec == 0 && tp.nsec == 0 } + +func (tp *timeparts) toSeconds() int { + return tp.day*secondsPerDay + tp.hour*3600 + tp.min*60 + tp.sec +} diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 63e52cc0f87..f684f37a58c 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -16,7 +16,10 @@ limitations under the License. package sqlparser -import "vitess.io/vitess/go/sqltypes" +import ( + "vitess.io/vitess/go/mysql/datetime" + "vitess.io/vitess/go/sqltypes" +) /* This is the Vitess AST. This file should only contain pure struct declarations, @@ -676,9 +679,6 @@ type ( Name IdentifierCI } - // IntervalTypes is an enum to get types of intervals - IntervalTypes int8 - // OtherRead represents a DESCRIBE, or EXPLAIN statement. // It should be used only as an indicator. It does not contain // the full AST for the statement. @@ -2156,7 +2156,7 @@ type ( // More information available here: https://dev.mysql.com/doc/refman/8.0/en/window-functions-frames.html FramePoint struct { Type FramePointType - Unit IntervalTypes + Unit IntervalType Expr Expr } @@ -2197,16 +2197,6 @@ type ( FromFirstLastType int8 ) -// DateAddExprType is an enum to get types of DateAddExpr. -// This can be one of ADDDATE, DATE_ADD or a '+' operator -// with an interval left or right. -type DateAddExprType int8 - -// DateSubExprType is an enum to get types of DateAddExpr. -// This can be one of SUBDATE, DATE_SUB or a '-' operator -// with an interval right. -type DateSubExprType int8 - // *********** Expressions type ( // Expr represents an expression. @@ -2363,8 +2353,8 @@ type ( // ExtractFuncExpr represents the function and arguments for EXTRACT(YEAR FROM '2019-07-02') type functions. ExtractFuncExpr struct { - IntervalTypes IntervalTypes - Expr Expr + IntervalType IntervalType + Expr Expr } // CollateExpr represents dynamic collate operator. @@ -3012,24 +3002,14 @@ type ( MatchType Expr } - // DateAddExpr represents ADDDATE(), DATE_ADD() - // and additions with an interval on the left and right. - // For more information, see https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-add - DateAddExpr struct { - Type DateAddExprType - Date Expr - Unit IntervalTypes - Expr Expr - } + IntervalType = datetime.IntervalType - // DateSubExpr represents SUBDATE(), DATE_SUB() - // and subtractions with an interval on the right. - // For more information, see https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-sub - DateSubExpr struct { - Type DateSubExprType - Date Expr - Unit IntervalTypes - Expr Expr + // IntervalDateExpr represents ADDDATE(), DATE_ADD() + IntervalDateExpr struct { + Syntax IntervalExprSyntax + Date Expr + Interval Expr + Unit IntervalType } // ArgumentLessWindowExpr stands for the following window_functions: CUME_DIST, DENSE_RANK, PERCENT_RANK, RANK, ROW_NUMBER @@ -3204,8 +3184,7 @@ func (*RegexpInstrExpr) iExpr() {} func (*RegexpLikeExpr) iExpr() {} func (*RegexpReplaceExpr) iExpr() {} func (*RegexpSubstrExpr) iExpr() {} -func (*DateAddExpr) iExpr() {} -func (*DateSubExpr) iExpr() {} +func (*IntervalDateExpr) iExpr() {} func (*ArgumentLessWindowExpr) iExpr() {} func (*FirstOrLastValueExpr) iExpr() {} func (*NtileExpr) iExpr() {} @@ -3297,8 +3276,7 @@ func (*RegexpInstrExpr) iCallable() {} func (*RegexpLikeExpr) iCallable() {} func (*RegexpReplaceExpr) iCallable() {} func (*RegexpSubstrExpr) iCallable() {} -func (*DateAddExpr) iCallable() {} -func (*DateSubExpr) iCallable() {} +func (*IntervalDateExpr) iCallable() {} func (*ArgumentLessWindowExpr) iCallable() {} func (*FirstOrLastValueExpr) iCallable() {} func (*NtileExpr) iCallable() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index 449c34d7f6a..e4d0514250a 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -129,10 +129,6 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfCreateView(in) case *CurTimeFuncExpr: return CloneRefOfCurTimeFuncExpr(in) - case *DateAddExpr: - return CloneRefOfDateAddExpr(in) - case *DateSubExpr: - return CloneRefOfDateSubExpr(in) case *DeallocateStmt: return CloneRefOfDeallocateStmt(in) case *Default: @@ -227,6 +223,8 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfInsert(in) case *InsertExpr: return CloneRefOfInsertExpr(in) + case *IntervalDateExpr: + return CloneRefOfIntervalDateExpr(in) case *IntervalFuncExpr: return CloneRefOfIntervalFuncExpr(in) case *IntroducerExpr: @@ -1118,28 +1116,6 @@ func CloneRefOfCurTimeFuncExpr(n *CurTimeFuncExpr) *CurTimeFuncExpr { return &out } -// CloneRefOfDateAddExpr creates a deep clone of the input. -func CloneRefOfDateAddExpr(n *DateAddExpr) *DateAddExpr { - if n == nil { - return nil - } - out := *n - out.Date = CloneExpr(n.Date) - out.Expr = CloneExpr(n.Expr) - return &out -} - -// CloneRefOfDateSubExpr creates a deep clone of the input. -func CloneRefOfDateSubExpr(n *DateSubExpr) *DateSubExpr { - if n == nil { - return nil - } - out := *n - out.Date = CloneExpr(n.Date) - out.Expr = CloneExpr(n.Expr) - return &out -} - // CloneRefOfDeallocateStmt creates a deep clone of the input. func CloneRefOfDeallocateStmt(n *DeallocateStmt) *DeallocateStmt { if n == nil { @@ -1658,6 +1634,17 @@ func CloneRefOfInsertExpr(n *InsertExpr) *InsertExpr { return &out } +// CloneRefOfIntervalDateExpr creates a deep clone of the input. +func CloneRefOfIntervalDateExpr(n *IntervalDateExpr) *IntervalDateExpr { + if n == nil { + return nil + } + out := *n + out.Date = CloneExpr(n.Date) + out.Interval = CloneExpr(n.Interval) + return &out +} + // CloneRefOfIntervalFuncExpr creates a deep clone of the input. func CloneRefOfIntervalFuncExpr(n *IntervalFuncExpr) *IntervalFuncExpr { if n == nil { @@ -3538,10 +3525,6 @@ func CloneCallable(in Callable) Callable { return CloneRefOfCountStar(in) case *CurTimeFuncExpr: return CloneRefOfCurTimeFuncExpr(in) - case *DateAddExpr: - return CloneRefOfDateAddExpr(in) - case *DateSubExpr: - return CloneRefOfDateSubExpr(in) case *ExtractFuncExpr: return CloneRefOfExtractFuncExpr(in) case *ExtractValueExpr: @@ -3576,6 +3559,8 @@ func CloneCallable(in Callable) Callable { return CloneRefOfGroupConcatExpr(in) case *InsertExpr: return CloneRefOfInsertExpr(in) + case *IntervalDateExpr: + return CloneRefOfIntervalDateExpr(in) case *IntervalFuncExpr: return CloneRefOfIntervalFuncExpr(in) case *JSONArrayExpr: @@ -3830,10 +3815,6 @@ func CloneExpr(in Expr) Expr { return CloneRefOfCountStar(in) case *CurTimeFuncExpr: return CloneRefOfCurTimeFuncExpr(in) - case *DateAddExpr: - return CloneRefOfDateAddExpr(in) - case *DateSubExpr: - return CloneRefOfDateSubExpr(in) case *Default: return CloneRefOfDefault(in) case *ExistsExpr: @@ -3874,6 +3855,8 @@ func CloneExpr(in Expr) Expr { return CloneRefOfGroupConcatExpr(in) case *InsertExpr: return CloneRefOfInsertExpr(in) + case *IntervalDateExpr: + return CloneRefOfIntervalDateExpr(in) case *IntervalFuncExpr: return CloneRefOfIntervalFuncExpr(in) case *IntroducerExpr: diff --git a/go/vt/sqlparser/ast_copy_on_rewrite.go b/go/vt/sqlparser/ast_copy_on_rewrite.go index 967e4f262a5..8b7daaa1efc 100644 --- a/go/vt/sqlparser/ast_copy_on_rewrite.go +++ b/go/vt/sqlparser/ast_copy_on_rewrite.go @@ -128,10 +128,6 @@ func (c *cow) copyOnRewriteSQLNode(n SQLNode, parent SQLNode) (out SQLNode, chan return c.copyOnRewriteRefOfCreateView(n, parent) case *CurTimeFuncExpr: return c.copyOnRewriteRefOfCurTimeFuncExpr(n, parent) - case *DateAddExpr: - return c.copyOnRewriteRefOfDateAddExpr(n, parent) - case *DateSubExpr: - return c.copyOnRewriteRefOfDateSubExpr(n, parent) case *DeallocateStmt: return c.copyOnRewriteRefOfDeallocateStmt(n, parent) case *Default: @@ -226,6 +222,8 @@ func (c *cow) copyOnRewriteSQLNode(n SQLNode, parent SQLNode) (out SQLNode, chan return c.copyOnRewriteRefOfInsert(n, parent) case *InsertExpr: return c.copyOnRewriteRefOfInsertExpr(n, parent) + case *IntervalDateExpr: + return c.copyOnRewriteRefOfIntervalDateExpr(n, parent) case *IntervalFuncExpr: return c.copyOnRewriteRefOfIntervalFuncExpr(n, parent) case *IntroducerExpr: @@ -1750,54 +1748,6 @@ func (c *cow) copyOnRewriteRefOfCurTimeFuncExpr(n *CurTimeFuncExpr, parent SQLNo } return } -func (c *cow) copyOnRewriteRefOfDateAddExpr(n *DateAddExpr, parent SQLNode) (out SQLNode, changed bool) { - if n == nil || c.cursor.stop { - return n, false - } - out = n - if c.pre == nil || c.pre(n, parent) { - _Date, changedDate := c.copyOnRewriteExpr(n.Date, n) - _Expr, changedExpr := c.copyOnRewriteExpr(n.Expr, n) - if changedDate || changedExpr { - res := *n - res.Date, _ = _Date.(Expr) - res.Expr, _ = _Expr.(Expr) - out = &res - if c.cloned != nil { - c.cloned(n, out) - } - changed = true - } - } - if c.post != nil { - out, changed = c.postVisit(out, parent, changed) - } - return -} -func (c *cow) copyOnRewriteRefOfDateSubExpr(n *DateSubExpr, parent SQLNode) (out SQLNode, changed bool) { - if n == nil || c.cursor.stop { - return n, false - } - out = n - if c.pre == nil || c.pre(n, parent) { - _Date, changedDate := c.copyOnRewriteExpr(n.Date, n) - _Expr, changedExpr := c.copyOnRewriteExpr(n.Expr, n) - if changedDate || changedExpr { - res := *n - res.Date, _ = _Date.(Expr) - res.Expr, _ = _Expr.(Expr) - out = &res - if c.cloned != nil { - c.cloned(n, out) - } - changed = true - } - } - if c.post != nil { - out, changed = c.postVisit(out, parent, changed) - } - return -} func (c *cow) copyOnRewriteRefOfDeallocateStmt(n *DeallocateStmt, parent SQLNode) (out SQLNode, changed bool) { if n == nil || c.cursor.stop { return n, false @@ -2891,6 +2841,30 @@ func (c *cow) copyOnRewriteRefOfInsertExpr(n *InsertExpr, parent SQLNode) (out S } return } +func (c *cow) copyOnRewriteRefOfIntervalDateExpr(n *IntervalDateExpr, parent SQLNode) (out SQLNode, changed bool) { + if n == nil || c.cursor.stop { + return n, false + } + out = n + if c.pre == nil || c.pre(n, parent) { + _Date, changedDate := c.copyOnRewriteExpr(n.Date, n) + _Interval, changedInterval := c.copyOnRewriteExpr(n.Interval, n) + if changedDate || changedInterval { + res := *n + res.Date, _ = _Date.(Expr) + res.Interval, _ = _Interval.(Expr) + out = &res + if c.cloned != nil { + c.cloned(n, out) + } + changed = true + } + } + if c.post != nil { + out, changed = c.postVisit(out, parent, changed) + } + return +} func (c *cow) copyOnRewriteRefOfIntervalFuncExpr(n *IntervalFuncExpr, parent SQLNode) (out SQLNode, changed bool) { if n == nil || c.cursor.stop { return n, false @@ -6745,10 +6719,6 @@ func (c *cow) copyOnRewriteCallable(n Callable, parent SQLNode) (out SQLNode, ch return c.copyOnRewriteRefOfCountStar(n, parent) case *CurTimeFuncExpr: return c.copyOnRewriteRefOfCurTimeFuncExpr(n, parent) - case *DateAddExpr: - return c.copyOnRewriteRefOfDateAddExpr(n, parent) - case *DateSubExpr: - return c.copyOnRewriteRefOfDateSubExpr(n, parent) case *ExtractFuncExpr: return c.copyOnRewriteRefOfExtractFuncExpr(n, parent) case *ExtractValueExpr: @@ -6783,6 +6753,8 @@ func (c *cow) copyOnRewriteCallable(n Callable, parent SQLNode) (out SQLNode, ch return c.copyOnRewriteRefOfGroupConcatExpr(n, parent) case *InsertExpr: return c.copyOnRewriteRefOfInsertExpr(n, parent) + case *IntervalDateExpr: + return c.copyOnRewriteRefOfIntervalDateExpr(n, parent) case *IntervalFuncExpr: return c.copyOnRewriteRefOfIntervalFuncExpr(n, parent) case *JSONArrayExpr: @@ -7025,10 +6997,6 @@ func (c *cow) copyOnRewriteExpr(n Expr, parent SQLNode) (out SQLNode, changed bo return c.copyOnRewriteRefOfCountStar(n, parent) case *CurTimeFuncExpr: return c.copyOnRewriteRefOfCurTimeFuncExpr(n, parent) - case *DateAddExpr: - return c.copyOnRewriteRefOfDateAddExpr(n, parent) - case *DateSubExpr: - return c.copyOnRewriteRefOfDateSubExpr(n, parent) case *Default: return c.copyOnRewriteRefOfDefault(n, parent) case *ExistsExpr: @@ -7069,6 +7037,8 @@ func (c *cow) copyOnRewriteExpr(n Expr, parent SQLNode) (out SQLNode, changed bo return c.copyOnRewriteRefOfGroupConcatExpr(n, parent) case *InsertExpr: return c.copyOnRewriteRefOfInsertExpr(n, parent) + case *IntervalDateExpr: + return c.copyOnRewriteRefOfIntervalDateExpr(n, parent) case *IntervalFuncExpr: return c.copyOnRewriteRefOfIntervalFuncExpr(n, parent) case *IntroducerExpr: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 39548161659..a6ca7c9a5eb 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -344,18 +344,6 @@ func (cmp *Comparator) SQLNode(inA, inB SQLNode) bool { return false } return cmp.RefOfCurTimeFuncExpr(a, b) - case *DateAddExpr: - b, ok := inB.(*DateAddExpr) - if !ok { - return false - } - return cmp.RefOfDateAddExpr(a, b) - case *DateSubExpr: - b, ok := inB.(*DateSubExpr) - if !ok { - return false - } - return cmp.RefOfDateSubExpr(a, b) case *DeallocateStmt: b, ok := inB.(*DeallocateStmt) if !ok { @@ -638,6 +626,12 @@ func (cmp *Comparator) SQLNode(inA, inB SQLNode) bool { return false } return cmp.RefOfInsertExpr(a, b) + case *IntervalDateExpr: + b, ok := inB.(*IntervalDateExpr) + if !ok { + return false + } + return cmp.RefOfIntervalDateExpr(a, b) case *IntervalFuncExpr: b, ok := inB.(*IntervalFuncExpr) if !ok { @@ -2292,34 +2286,6 @@ func (cmp *Comparator) RefOfCurTimeFuncExpr(a, b *CurTimeFuncExpr) bool { cmp.IdentifierCI(a.Name, b.Name) } -// RefOfDateAddExpr does deep equals between the two objects. -func (cmp *Comparator) RefOfDateAddExpr(a, b *DateAddExpr) bool { - if a == b { - return true - } - if a == nil || b == nil { - return false - } - return a.Type == b.Type && - cmp.Expr(a.Date, b.Date) && - a.Unit == b.Unit && - cmp.Expr(a.Expr, b.Expr) -} - -// RefOfDateSubExpr does deep equals between the two objects. -func (cmp *Comparator) RefOfDateSubExpr(a, b *DateSubExpr) bool { - if a == b { - return true - } - if a == nil || b == nil { - return false - } - return a.Type == b.Type && - cmp.Expr(a.Date, b.Date) && - a.Unit == b.Unit && - cmp.Expr(a.Expr, b.Expr) -} - // RefOfDeallocateStmt does deep equals between the two objects. func (cmp *Comparator) RefOfDeallocateStmt(a, b *DeallocateStmt) bool { if a == b { @@ -2519,7 +2485,7 @@ func (cmp *Comparator) RefOfExtractFuncExpr(a, b *ExtractFuncExpr) bool { if a == nil || b == nil { return false } - return a.IntervalTypes == b.IntervalTypes && + return a.IntervalType == b.IntervalType && cmp.Expr(a.Expr, b.Expr) } @@ -2928,6 +2894,20 @@ func (cmp *Comparator) RefOfInsertExpr(a, b *InsertExpr) bool { cmp.Expr(a.NewStr, b.NewStr) } +// RefOfIntervalDateExpr does deep equals between the two objects. +func (cmp *Comparator) RefOfIntervalDateExpr(a, b *IntervalDateExpr) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Syntax == b.Syntax && + cmp.Expr(a.Date, b.Date) && + cmp.Expr(a.Interval, b.Interval) && + a.Unit == b.Unit +} + // RefOfIntervalFuncExpr does deep equals between the two objects. func (cmp *Comparator) RefOfIntervalFuncExpr(a, b *IntervalFuncExpr) bool { if a == b { @@ -5249,18 +5229,6 @@ func (cmp *Comparator) Callable(inA, inB Callable) bool { return false } return cmp.RefOfCurTimeFuncExpr(a, b) - case *DateAddExpr: - b, ok := inB.(*DateAddExpr) - if !ok { - return false - } - return cmp.RefOfDateAddExpr(a, b) - case *DateSubExpr: - b, ok := inB.(*DateSubExpr) - if !ok { - return false - } - return cmp.RefOfDateSubExpr(a, b) case *ExtractFuncExpr: b, ok := inB.(*ExtractFuncExpr) if !ok { @@ -5363,6 +5331,12 @@ func (cmp *Comparator) Callable(inA, inB Callable) bool { return false } return cmp.RefOfInsertExpr(a, b) + case *IntervalDateExpr: + b, ok := inB.(*IntervalDateExpr) + if !ok { + return false + } + return cmp.RefOfIntervalDateExpr(a, b) case *IntervalFuncExpr: b, ok := inB.(*IntervalFuncExpr) if !ok { @@ -5999,18 +5973,6 @@ func (cmp *Comparator) Expr(inA, inB Expr) bool { return false } return cmp.RefOfCurTimeFuncExpr(a, b) - case *DateAddExpr: - b, ok := inB.(*DateAddExpr) - if !ok { - return false - } - return cmp.RefOfDateAddExpr(a, b) - case *DateSubExpr: - b, ok := inB.(*DateSubExpr) - if !ok { - return false - } - return cmp.RefOfDateSubExpr(a, b) case *Default: b, ok := inB.(*Default) if !ok { @@ -6131,6 +6093,12 @@ func (cmp *Comparator) Expr(inA, inB Expr) bool { return false } return cmp.RefOfInsertExpr(a, b) + case *IntervalDateExpr: + b, ok := inB.(*IntervalDateExpr) + if !ok { + return false + } + return cmp.RefOfIntervalDateExpr(a, b) case *IntervalFuncExpr: b, ok := inB.(*IntervalFuncExpr) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 8883f752351..e0bda88d3cb 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -1398,7 +1398,7 @@ func (node *TimestampFuncExpr) Format(buf *TrackedBuffer) { // Format formats the node. func (node *ExtractFuncExpr) Format(buf *TrackedBuffer) { - buf.astPrintf(node, "extract(%#s from %v)", node.IntervalTypes.ToString(), node.Expr) + buf.astPrintf(node, "extract(%#s from %v)", node.IntervalType.ToString(), node.Expr) } // Format formats the node @@ -1459,40 +1459,22 @@ func (node *RegexpSubstrExpr) Format(buf *TrackedBuffer) { } // Format formats the node -func (node *DateAddExpr) Format(buf *TrackedBuffer) { - switch node.Type { - case AdddateType: - buf.astPrintf(node, "adddate(%v, ", node.Date) - if node.Unit == IntervalUnknown { - buf.astPrintf(node, "%v", node.Expr) - } else { - buf.astPrintf(node, "interval %v %#s", node.Expr, node.Unit.ToString()) - } - buf.WriteByte(')') - case DateAddType: - buf.astPrintf(node, "date_add(%v, interval %v %#s)", node.Date, node.Expr, node.Unit.ToString()) - case PlusIntervalLeftType: - buf.astPrintf(node, "interval %v %#s + %v", node.Expr, node.Unit.ToString(), node.Date) - case PlusIntervalRightType: - buf.astPrintf(node, "%v + interval %v %#s", node.Date, node.Expr, node.Unit.ToString()) - } -} - -// Format formats the node -func (node *DateSubExpr) Format(buf *TrackedBuffer) { - switch node.Type { - case SubdateType: - buf.astPrintf(node, "subdate(%v, ", node.Date) - if node.Unit == IntervalUnknown { - buf.astPrintf(node, "%v", node.Expr) - } else { - buf.astPrintf(node, "interval %v %#s", node.Expr, node.Unit.ToString()) +func (node *IntervalDateExpr) Format(buf *TrackedBuffer) { + switch node.Syntax { + case IntervalDateExprAdddate, IntervalDateExprSubdate: + if node.Unit == IntervalNone { + buf.astPrintf(node, "%s(%v, %v)", node.FnName(), node.Date, node.Interval) + return } - buf.WriteByte(')') - case DateSubType: - buf.astPrintf(node, "date_sub(%v, interval %v %#s)", node.Date, node.Expr, node.Unit.ToString()) - case MinusIntervalRightType: - buf.astPrintf(node, "%v - interval %v %#s", node.Date, node.Expr, node.Unit.ToString()) + fallthrough + case IntervalDateExprDateAdd, IntervalDateExprDateSub: + buf.astPrintf(node, "%s(%v, interval %v %#s)", node.FnName(), node.Date, node.Interval, node.Unit.ToString()) + case IntervalDateExprBinaryAdd: + buf.astPrintf(node, "%l + interval %r %#s", node.Date, node.Interval, node.Unit.ToString()) + case IntervalDateExprBinaryAddLeft: + buf.astPrintf(node, "interval %l %#s + %r", node.Interval, node.Unit.ToString(), node.Date) + case IntervalDateExprBinarySub: + buf.astPrintf(node, "%l - interval %r %#s", node.Date, node.Interval, node.Unit.ToString()) } } @@ -1644,7 +1626,7 @@ func (node *FromFirstLastClause) Format(buf *TrackedBuffer) { // Format formats the node func (node *FramePoint) Format(buf *TrackedBuffer) { if node.Expr != nil { - if node.Unit != IntervalUnknown { + if node.Unit != IntervalNone { buf.astPrintf(node, " interval %v %#s", node.Expr, node.Unit.ToString()) } else { buf.astPrintf(node, " %v", node.Expr) diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 3286745e749..c6bf32e5691 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -1834,7 +1834,7 @@ func (node *TimestampFuncExpr) formatFast(buf *TrackedBuffer) { // formatFast formats the node. func (node *ExtractFuncExpr) formatFast(buf *TrackedBuffer) { buf.WriteString("extract(") - buf.WriteString(node.IntervalTypes.ToString()) + buf.WriteString(node.IntervalType.ToString()) buf.WriteString(" from ") buf.printExpr(node, node.Expr, true) buf.WriteByte(')') @@ -1923,73 +1923,45 @@ func (node *RegexpSubstrExpr) formatFast(buf *TrackedBuffer) { } // formatFast formats the node -func (node *DateAddExpr) formatFast(buf *TrackedBuffer) { - switch node.Type { - case AdddateType: - buf.WriteString("adddate(") - buf.printExpr(node, node.Date, true) - buf.WriteString(", ") - if node.Unit == IntervalUnknown { - buf.printExpr(node, node.Expr, true) - } else { - buf.WriteString("interval ") - buf.printExpr(node, node.Expr, true) - buf.WriteByte(' ') - buf.WriteString(node.Unit.ToString()) +func (node *IntervalDateExpr) formatFast(buf *TrackedBuffer) { + switch node.Syntax { + case IntervalDateExprAdddate, IntervalDateExprSubdate: + if node.Unit == IntervalNone { + buf.WriteString(node.FnName()) + buf.WriteByte('(') + buf.printExpr(node, node.Date, true) + buf.WriteString(", ") + buf.printExpr(node, node.Interval, true) + buf.WriteByte(')') + return } - buf.WriteByte(')') - case DateAddType: - buf.WriteString("date_add(") + fallthrough + case IntervalDateExprDateAdd, IntervalDateExprDateSub: + buf.WriteString(node.FnName()) + buf.WriteByte('(') buf.printExpr(node, node.Date, true) buf.WriteString(", interval ") - buf.printExpr(node, node.Expr, true) + buf.printExpr(node, node.Interval, true) buf.WriteByte(' ') buf.WriteString(node.Unit.ToString()) buf.WriteByte(')') - case PlusIntervalLeftType: - buf.WriteString("interval ") - buf.printExpr(node, node.Expr, true) - buf.WriteByte(' ') - buf.WriteString(node.Unit.ToString()) - buf.WriteString(" + ") - buf.printExpr(node, node.Date, true) - case PlusIntervalRightType: + case IntervalDateExprBinaryAdd: buf.printExpr(node, node.Date, true) buf.WriteString(" + interval ") - buf.printExpr(node, node.Expr, true) + buf.printExpr(node, node.Interval, false) buf.WriteByte(' ') buf.WriteString(node.Unit.ToString()) - } -} - -// formatFast formats the node -func (node *DateSubExpr) formatFast(buf *TrackedBuffer) { - switch node.Type { - case SubdateType: - buf.WriteString("subdate(") - buf.printExpr(node, node.Date, true) - buf.WriteString(", ") - if node.Unit == IntervalUnknown { - buf.printExpr(node, node.Expr, true) - } else { - buf.WriteString("interval ") - buf.printExpr(node, node.Expr, true) - buf.WriteByte(' ') - buf.WriteString(node.Unit.ToString()) - } - buf.WriteByte(')') - case DateSubType: - buf.WriteString("date_sub(") - buf.printExpr(node, node.Date, true) - buf.WriteString(", interval ") - buf.printExpr(node, node.Expr, true) + case IntervalDateExprBinaryAddLeft: + buf.WriteString("interval ") + buf.printExpr(node, node.Interval, true) buf.WriteByte(' ') buf.WriteString(node.Unit.ToString()) - buf.WriteByte(')') - case MinusIntervalRightType: + buf.WriteString(" + ") + buf.printExpr(node, node.Date, false) + case IntervalDateExprBinarySub: buf.printExpr(node, node.Date, true) buf.WriteString(" - interval ") - buf.printExpr(node, node.Expr, true) + buf.printExpr(node, node.Interval, false) buf.WriteByte(' ') buf.WriteString(node.Unit.ToString()) } @@ -2189,7 +2161,7 @@ func (node *FromFirstLastClause) formatFast(buf *TrackedBuffer) { // formatFast formats the node func (node *FramePoint) formatFast(buf *TrackedBuffer) { if node.Expr != nil { - if node.Unit != IntervalUnknown { + if node.Unit != IntervalNone { buf.WriteString(" interval ") node.Expr.formatFast(buf) buf.WriteByte(' ') diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index 860d0f02a57..8f64916d554 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1714,54 +1714,6 @@ func (ty VExplainType) ToString() string { } } -// ToString returns the type as a string -func (ty IntervalTypes) ToString() string { - switch ty { - case IntervalYear: - return YearStr - case IntervalQuarter: - return QuarterStr - case IntervalMonth: - return MonthStr - case IntervalWeek: - return WeekStr - case IntervalDay: - return DayStr - case IntervalHour: - return HourStr - case IntervalMinute: - return MinuteStr - case IntervalSecond: - return SecondStr - case IntervalMicrosecond: - return MicrosecondStr - case IntervalYearMonth: - return YearMonthStr - case IntervalDayHour: - return DayHourStr - case IntervalDayMinute: - return DayMinuteStr - case IntervalDaySecond: - return DaySecondStr - case IntervalHourMinute: - return HourMinuteStr - case IntervalHourSecond: - return HourSecondStr - case IntervalMinuteSecond: - return MinuteSecondStr - case IntervalDayMicrosecond: - return DayMicrosecondStr - case IntervalHourMicrosecond: - return HourMicrosecondStr - case IntervalMinuteMicrosecond: - return MinuteMicrosecondStr - case IntervalSecondMicrosecond: - return SecondMicrosecondStr - default: - return "Unknown IntervalType" - } -} - // ToString returns the type as a string func (sel SelectIntoType) ToString() string { switch sel { @@ -2407,3 +2359,43 @@ func getAliasedTableExprFromTableName(tblName TableName) *AliasedTableExpr { Expr: tblName, } } + +func (node *IntervalDateExpr) IsSubtraction() bool { + switch node.Syntax { + case IntervalDateExprDateAdd, IntervalDateExprAdddate, IntervalDateExprBinaryAdd, IntervalDateExprBinaryAddLeft: + return false + case IntervalDateExprDateSub, IntervalDateExprSubdate, IntervalDateExprBinarySub: + return true + default: + panic("invalid IntervalDateExpr syntax") + } +} + +func (node *IntervalDateExpr) NormalizedUnit() IntervalType { + if node.Unit == IntervalNone { + if node.Syntax == IntervalDateExprAdddate || node.Syntax == IntervalDateExprSubdate { + return IntervalDay + } + panic("IntervalDateExpr.Unit is not set") + } + return node.Unit +} + +func (node *IntervalDateExpr) FnName() string { + switch node.Syntax { + case IntervalDateExprDateAdd: + return "date_add" + case IntervalDateExprDateSub: + return "date_sub" + case IntervalDateExprAdddate: + return "adddate" + case IntervalDateExprSubdate: + return "subdate" + case IntervalDateExprBinaryAdd, IntervalDateExprBinaryAddLeft: + return "" + case IntervalDateExprBinarySub: + return "" + default: + return "" + } +} diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 1adaa601a71..fcd4918310b 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -128,10 +128,6 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfCreateView(parent, node, replacer) case *CurTimeFuncExpr: return a.rewriteRefOfCurTimeFuncExpr(parent, node, replacer) - case *DateAddExpr: - return a.rewriteRefOfDateAddExpr(parent, node, replacer) - case *DateSubExpr: - return a.rewriteRefOfDateSubExpr(parent, node, replacer) case *DeallocateStmt: return a.rewriteRefOfDeallocateStmt(parent, node, replacer) case *Default: @@ -226,6 +222,8 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfInsert(parent, node, replacer) case *InsertExpr: return a.rewriteRefOfInsertExpr(parent, node, replacer) + case *IntervalDateExpr: + return a.rewriteRefOfIntervalDateExpr(parent, node, replacer) case *IntervalFuncExpr: return a.rewriteRefOfIntervalFuncExpr(parent, node, replacer) case *IntroducerExpr: @@ -2184,70 +2182,6 @@ func (a *application) rewriteRefOfCurTimeFuncExpr(parent SQLNode, node *CurTimeF } return true } -func (a *application) rewriteRefOfDateAddExpr(parent SQLNode, node *DateAddExpr, replacer replacerFunc) bool { - if node == nil { - return true - } - if a.pre != nil { - a.cur.replacer = replacer - a.cur.parent = parent - a.cur.node = node - if !a.pre(&a.cur) { - return true - } - } - if !a.rewriteExpr(node, node.Date, func(newNode, parent SQLNode) { - parent.(*DateAddExpr).Date = newNode.(Expr) - }) { - return false - } - if !a.rewriteExpr(node, node.Expr, func(newNode, parent SQLNode) { - parent.(*DateAddExpr).Expr = newNode.(Expr) - }) { - return false - } - if a.post != nil { - a.cur.replacer = replacer - a.cur.parent = parent - a.cur.node = node - if !a.post(&a.cur) { - return false - } - } - return true -} -func (a *application) rewriteRefOfDateSubExpr(parent SQLNode, node *DateSubExpr, replacer replacerFunc) bool { - if node == nil { - return true - } - if a.pre != nil { - a.cur.replacer = replacer - a.cur.parent = parent - a.cur.node = node - if !a.pre(&a.cur) { - return true - } - } - if !a.rewriteExpr(node, node.Date, func(newNode, parent SQLNode) { - parent.(*DateSubExpr).Date = newNode.(Expr) - }) { - return false - } - if !a.rewriteExpr(node, node.Expr, func(newNode, parent SQLNode) { - parent.(*DateSubExpr).Expr = newNode.(Expr) - }) { - return false - } - if a.post != nil { - a.cur.replacer = replacer - a.cur.parent = parent - a.cur.node = node - if !a.post(&a.cur) { - return false - } - } - return true -} func (a *application) rewriteRefOfDeallocateStmt(parent SQLNode, node *DeallocateStmt, replacer replacerFunc) bool { if node == nil { return true @@ -3796,6 +3730,38 @@ func (a *application) rewriteRefOfInsertExpr(parent SQLNode, node *InsertExpr, r } return true } +func (a *application) rewriteRefOfIntervalDateExpr(parent SQLNode, node *IntervalDateExpr, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExpr(node, node.Date, func(newNode, parent SQLNode) { + parent.(*IntervalDateExpr).Date = newNode.(Expr) + }) { + return false + } + if !a.rewriteExpr(node, node.Interval, func(newNode, parent SQLNode) { + parent.(*IntervalDateExpr).Interval = newNode.(Expr) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfIntervalFuncExpr(parent SQLNode, node *IntervalFuncExpr, replacer replacerFunc) bool { if node == nil { return true @@ -9109,10 +9075,6 @@ func (a *application) rewriteCallable(parent SQLNode, node Callable, replacer re return a.rewriteRefOfCountStar(parent, node, replacer) case *CurTimeFuncExpr: return a.rewriteRefOfCurTimeFuncExpr(parent, node, replacer) - case *DateAddExpr: - return a.rewriteRefOfDateAddExpr(parent, node, replacer) - case *DateSubExpr: - return a.rewriteRefOfDateSubExpr(parent, node, replacer) case *ExtractFuncExpr: return a.rewriteRefOfExtractFuncExpr(parent, node, replacer) case *ExtractValueExpr: @@ -9147,6 +9109,8 @@ func (a *application) rewriteCallable(parent SQLNode, node Callable, replacer re return a.rewriteRefOfGroupConcatExpr(parent, node, replacer) case *InsertExpr: return a.rewriteRefOfInsertExpr(parent, node, replacer) + case *IntervalDateExpr: + return a.rewriteRefOfIntervalDateExpr(parent, node, replacer) case *IntervalFuncExpr: return a.rewriteRefOfIntervalFuncExpr(parent, node, replacer) case *JSONArrayExpr: @@ -9389,10 +9353,6 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfCountStar(parent, node, replacer) case *CurTimeFuncExpr: return a.rewriteRefOfCurTimeFuncExpr(parent, node, replacer) - case *DateAddExpr: - return a.rewriteRefOfDateAddExpr(parent, node, replacer) - case *DateSubExpr: - return a.rewriteRefOfDateSubExpr(parent, node, replacer) case *Default: return a.rewriteRefOfDefault(parent, node, replacer) case *ExistsExpr: @@ -9433,6 +9393,8 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfGroupConcatExpr(parent, node, replacer) case *InsertExpr: return a.rewriteRefOfInsertExpr(parent, node, replacer) + case *IntervalDateExpr: + return a.rewriteRefOfIntervalDateExpr(parent, node, replacer) case *IntervalFuncExpr: return a.rewriteRefOfIntervalFuncExpr(parent, node, replacer) case *IntroducerExpr: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 281d8cfd4e1..f799c8437c6 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -128,10 +128,6 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfCreateView(in, f) case *CurTimeFuncExpr: return VisitRefOfCurTimeFuncExpr(in, f) - case *DateAddExpr: - return VisitRefOfDateAddExpr(in, f) - case *DateSubExpr: - return VisitRefOfDateSubExpr(in, f) case *DeallocateStmt: return VisitRefOfDeallocateStmt(in, f) case *Default: @@ -226,6 +222,8 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfInsert(in, f) case *InsertExpr: return VisitRefOfInsertExpr(in, f) + case *IntervalDateExpr: + return VisitRefOfIntervalDateExpr(in, f) case *IntervalFuncExpr: return VisitRefOfIntervalFuncExpr(in, f) case *IntroducerExpr: @@ -1307,36 +1305,6 @@ func VisitRefOfCurTimeFuncExpr(in *CurTimeFuncExpr, f Visit) error { } return nil } -func VisitRefOfDateAddExpr(in *DateAddExpr, f Visit) error { - if in == nil { - return nil - } - if cont, err := f(in); err != nil || !cont { - return err - } - if err := VisitExpr(in.Date, f); err != nil { - return err - } - if err := VisitExpr(in.Expr, f); err != nil { - return err - } - return nil -} -func VisitRefOfDateSubExpr(in *DateSubExpr, f Visit) error { - if in == nil { - return nil - } - if cont, err := f(in); err != nil || !cont { - return err - } - if err := VisitExpr(in.Date, f); err != nil { - return err - } - if err := VisitExpr(in.Expr, f); err != nil { - return err - } - return nil -} func VisitRefOfDeallocateStmt(in *DeallocateStmt, f Visit) error { if in == nil { return nil @@ -2046,6 +2014,21 @@ func VisitRefOfInsertExpr(in *InsertExpr, f Visit) error { } return nil } +func VisitRefOfIntervalDateExpr(in *IntervalDateExpr, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExpr(in.Date, f); err != nil { + return err + } + if err := VisitExpr(in.Interval, f); err != nil { + return err + } + return nil +} func VisitRefOfIntervalFuncExpr(in *IntervalFuncExpr, f Visit) error { if in == nil { return nil @@ -4507,10 +4490,6 @@ func VisitCallable(in Callable, f Visit) error { return VisitRefOfCountStar(in, f) case *CurTimeFuncExpr: return VisitRefOfCurTimeFuncExpr(in, f) - case *DateAddExpr: - return VisitRefOfDateAddExpr(in, f) - case *DateSubExpr: - return VisitRefOfDateSubExpr(in, f) case *ExtractFuncExpr: return VisitRefOfExtractFuncExpr(in, f) case *ExtractValueExpr: @@ -4545,6 +4524,8 @@ func VisitCallable(in Callable, f Visit) error { return VisitRefOfGroupConcatExpr(in, f) case *InsertExpr: return VisitRefOfInsertExpr(in, f) + case *IntervalDateExpr: + return VisitRefOfIntervalDateExpr(in, f) case *IntervalFuncExpr: return VisitRefOfIntervalFuncExpr(in, f) case *JSONArrayExpr: @@ -4787,10 +4768,6 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfCountStar(in, f) case *CurTimeFuncExpr: return VisitRefOfCurTimeFuncExpr(in, f) - case *DateAddExpr: - return VisitRefOfDateAddExpr(in, f) - case *DateSubExpr: - return VisitRefOfDateSubExpr(in, f) case *Default: return VisitRefOfDefault(in, f) case *ExistsExpr: @@ -4831,6 +4808,8 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfGroupConcatExpr(in, f) case *InsertExpr: return VisitRefOfInsertExpr(in, f) + case *IntervalDateExpr: + return VisitRefOfIntervalDateExpr(in, f) case *IntervalFuncExpr: return VisitRefOfIntervalFuncExpr(in, f) case *IntroducerExpr: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 7e13ccde9ab..51edf640412 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -1028,42 +1028,6 @@ func (cached *DatabaseOption) CachedSize(alloc bool) int64 { size += hack.RuntimeAllocSize(int64(len(cached.Value))) return size } -func (cached *DateAddExpr) CachedSize(alloc bool) int64 { - if cached == nil { - return int64(0) - } - size := int64(0) - if alloc { - size += int64(48) - } - // field Date vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Date.(cachedObject); ok { - size += cc.CachedSize(true) - } - // field Expr vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Expr.(cachedObject); ok { - size += cc.CachedSize(true) - } - return size -} -func (cached *DateSubExpr) CachedSize(alloc bool) int64 { - if cached == nil { - return int64(0) - } - size := int64(0) - if alloc { - size += int64(48) - } - // field Date vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Date.(cachedObject); ok { - size += cc.CachedSize(true) - } - // field Expr vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Expr.(cachedObject); ok { - size += cc.CachedSize(true) - } - return size -} func (cached *DeallocateStmt) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) @@ -1917,6 +1881,24 @@ func (cached *InsertExpr) CachedSize(alloc bool) int64 { } return size } +func (cached *IntervalDateExpr) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Date vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Date.(cachedObject); ok { + size += cc.CachedSize(true) + } + // field Interval vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Interval.(cachedObject); ok { + size += cc.CachedSize(true) + } + return size +} func (cached *IntervalFuncExpr) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/constants.go b/go/vt/sqlparser/constants.go index aa99f18a502..4c5319c68fe 100644 --- a/go/vt/sqlparser/constants.go +++ b/go/vt/sqlparser/constants.go @@ -16,6 +16,8 @@ limitations under the License. package sqlparser +import "vitess.io/vitess/go/mysql/datetime" + // String constants to be used in ast. const ( // Select.Distinct @@ -401,28 +403,6 @@ const ( DefaultTypeStr = "default" ExclusiveTypeStr = "exclusive" - // IntervalTypes strings - DayStr = "day" - WeekStr = "week" - MonthStr = "month" - YearStr = "year" - DayHourStr = "day_hour" - DayMicrosecondStr = "day_microsecond" - DayMinuteStr = "day_minute" - DaySecondStr = "day_second" - HourStr = "hour" - HourMicrosecondStr = "hour_microsecond" - HourMinuteStr = "hour_minute" - HourSecondStr = "hour_second" - MicrosecondStr = "microsecond" - MinuteStr = "minute" - MinuteMicrosecondStr = "minute_microsecond" - MinuteSecondStr = "minute_second" - QuarterStr = "quarter" - SecondStr = "second" - SecondMicrosecondStr = "second_microsecond" - YearMonthStr = "year_month" - // GeomeFromWktType strings GeometryFromTextStr = "st_geometryfromtext" GeometryCollectionFromTextStr = "st_geometrycollectionfromtext" @@ -912,46 +892,6 @@ const ( DefaultFormat ) -// Constants for Enum Type - DateAddExprType -const ( - AdddateType DateAddExprType = iota - DateAddType - PlusIntervalLeftType - PlusIntervalRightType -) - -// Constants for Enum Type - DateAddExprType -const ( - SubdateType DateSubExprType = iota - DateSubType - MinusIntervalRightType -) - -// IntervalTypes constants -const ( - IntervalUnknown IntervalTypes = iota - IntervalYear - IntervalQuarter - IntervalMonth - IntervalWeek - IntervalDay - IntervalHour - IntervalMinute - IntervalSecond - IntervalMicrosecond - IntervalYearMonth - IntervalDayHour - IntervalDayMinute - IntervalDaySecond - IntervalHourMinute - IntervalHourSecond - IntervalMinuteSecond - IntervalDayMicrosecond - IntervalHourMicrosecond - IntervalMinuteMicrosecond - IntervalSecondMicrosecond -) - // Transaction access mode const ( WithConsistentSnapshot TxAccessMode = iota @@ -1037,3 +977,41 @@ const ( LongitudeFromHash PointFromHash ) + +// IntervalType constants +const ( + IntervalNone = datetime.IntervalNone + IntervalMicrosecond = datetime.IntervalMicrosecond + IntervalSecond = datetime.IntervalSecond + IntervalMinute = datetime.IntervalMinute + IntervalHour = datetime.IntervalHour + IntervalDay = datetime.IntervalDay + IntervalWeek = datetime.IntervalWeek + IntervalMonth = datetime.IntervalMonth + IntervalQuarter = datetime.IntervalQuarter + IntervalYear = datetime.IntervalYear + + IntervalSecondMicrosecond = datetime.IntervalSecondMicrosecond + IntervalMinuteMicrosecond = datetime.IntervalMinuteMicrosecond + IntervalMinuteSecond = datetime.IntervalMinuteSecond + IntervalHourMicrosecond = datetime.IntervalHourMicrosecond + IntervalHourSecond = datetime.IntervalHourSecond + IntervalHourMinute = datetime.IntervalHourMinute + IntervalDayMicrosecond = datetime.IntervalDayMicrosecond + IntervalDaySecond = datetime.IntervalDaySecond + IntervalDayMinute = datetime.IntervalDayMinute + IntervalDayHour = datetime.IntervalDayHour + IntervalYearMonth = datetime.IntervalYearMonth +) + +type IntervalExprSyntax int8 + +const ( + IntervalDateExprDateAdd IntervalExprSyntax = iota + IntervalDateExprDateSub + IntervalDateExprAdddate + IntervalDateExprSubdate + IntervalDateExprBinaryAdd + IntervalDateExprBinaryAddLeft + IntervalDateExprBinarySub +) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 14363fe10ee..3f5b03224a0 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -7956,8 +7956,8 @@ func (st *yySymType) integerUnion() int { return v } -func (st *yySymType) intervalTypeUnion() IntervalTypes { - v, _ := st.union.(IntervalTypes) +func (st *yySymType) intervalTypeUnion() IntervalType { + v, _ := st.union.(IntervalType) return v } @@ -17592,7 +17592,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5348 { - yyLOCAL = &DateAddExpr{Type: PlusIntervalRightType, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Expr: yyDollar[4].exprUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL case 1028: @@ -17600,7 +17600,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5352 { - yyLOCAL = &DateSubExpr{Type: MinusIntervalRightType, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Expr: yyDollar[4].exprUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL case 1029: @@ -17836,7 +17836,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5474 { - yyLOCAL = &DateAddExpr{Type: PlusIntervalLeftType, Date: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[2].exprUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAddLeft, Date: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion(), Interval: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL case 1058: @@ -18705,7 +18705,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5994 { - yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} + yyLOCAL = &ExtractFuncExpr{IntervalType: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL case 1170: @@ -19937,7 +19937,7 @@ yydefault: var yyLOCAL Expr //line sql.y:6610 { - yyLOCAL = &DateAddExpr{Type: AdddateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL case 1324: @@ -19945,7 +19945,7 @@ yydefault: var yyLOCAL Expr //line sql.y:6614 { - yyLOCAL = &DateAddExpr{Type: AdddateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[5].exprUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone} } yyVAL.union = yyLOCAL case 1325: @@ -19953,7 +19953,7 @@ yydefault: var yyLOCAL Expr //line sql.y:6618 { - yyLOCAL = &DateAddExpr{Type: DateAddType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateAdd, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL case 1326: @@ -19961,7 +19961,7 @@ yydefault: var yyLOCAL Expr //line sql.y:6622 { - yyLOCAL = &DateSubExpr{Type: DateSubType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateSub, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL case 1327: @@ -19969,7 +19969,7 @@ yydefault: var yyLOCAL Expr //line sql.y:6626 { - yyLOCAL = &DateSubExpr{Type: SubdateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL case 1328: @@ -19977,7 +19977,7 @@ yydefault: var yyLOCAL Expr //line sql.y:6630 { - yyLOCAL = &DateSubExpr{Type: SubdateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[5].exprUnion()} + yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone} } yyVAL.union = yyLOCAL case 1333: @@ -20273,7 +20273,7 @@ yydefault: yyVAL.union = yyLOCAL case 1369: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6799 { yyLOCAL = IntervalDayHour @@ -20281,7 +20281,7 @@ yydefault: yyVAL.union = yyLOCAL case 1370: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6803 { yyLOCAL = IntervalDayMicrosecond @@ -20289,7 +20289,7 @@ yydefault: yyVAL.union = yyLOCAL case 1371: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6807 { yyLOCAL = IntervalDayMinute @@ -20297,7 +20297,7 @@ yydefault: yyVAL.union = yyLOCAL case 1372: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6811 { yyLOCAL = IntervalDaySecond @@ -20305,7 +20305,7 @@ yydefault: yyVAL.union = yyLOCAL case 1373: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6815 { yyLOCAL = IntervalHourMicrosecond @@ -20313,7 +20313,7 @@ yydefault: yyVAL.union = yyLOCAL case 1374: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6819 { yyLOCAL = IntervalHourMinute @@ -20321,7 +20321,7 @@ yydefault: yyVAL.union = yyLOCAL case 1375: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6823 { yyLOCAL = IntervalHourSecond @@ -20329,7 +20329,7 @@ yydefault: yyVAL.union = yyLOCAL case 1376: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6827 { yyLOCAL = IntervalMinuteMicrosecond @@ -20337,7 +20337,7 @@ yydefault: yyVAL.union = yyLOCAL case 1377: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6831 { yyLOCAL = IntervalMinuteSecond @@ -20345,7 +20345,7 @@ yydefault: yyVAL.union = yyLOCAL case 1378: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6835 { yyLOCAL = IntervalSecondMicrosecond @@ -20353,7 +20353,7 @@ yydefault: yyVAL.union = yyLOCAL case 1379: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6839 { yyLOCAL = IntervalYearMonth @@ -20361,7 +20361,7 @@ yydefault: yyVAL.union = yyLOCAL case 1380: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6843 { yyLOCAL = IntervalDay @@ -20369,7 +20369,7 @@ yydefault: yyVAL.union = yyLOCAL case 1381: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6847 { yyLOCAL = IntervalWeek @@ -20377,7 +20377,7 @@ yydefault: yyVAL.union = yyLOCAL case 1382: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6851 { yyLOCAL = IntervalHour @@ -20385,7 +20385,7 @@ yydefault: yyVAL.union = yyLOCAL case 1383: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6855 { yyLOCAL = IntervalMinute @@ -20393,7 +20393,7 @@ yydefault: yyVAL.union = yyLOCAL case 1384: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6859 { yyLOCAL = IntervalMonth @@ -20401,7 +20401,7 @@ yydefault: yyVAL.union = yyLOCAL case 1385: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6863 { yyLOCAL = IntervalQuarter @@ -20409,7 +20409,7 @@ yydefault: yyVAL.union = yyLOCAL case 1386: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6867 { yyLOCAL = IntervalSecond @@ -20417,7 +20417,7 @@ yydefault: yyVAL.union = yyLOCAL case 1387: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6871 { yyLOCAL = IntervalMicrosecond @@ -20425,7 +20425,7 @@ yydefault: yyVAL.union = yyLOCAL case 1388: yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL IntervalTypes + var yyLOCAL IntervalType //line sql.y:6875 { yyLOCAL = IntervalYear diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 07e87670f3c..9981fb7764e 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -173,7 +173,7 @@ func markBindVariable(yylex yyLexer, bvar string) { orderDirection OrderDirection explainType ExplainType vexplainType VExplainType - intervalType IntervalTypes + intervalType IntervalType lockType LockType referenceDefinition *ReferenceDefinition txAccessModes []TxAccessMode @@ -5346,11 +5346,11 @@ bit_expr '|' bit_expr %prec '|' } | bit_expr '+' INTERVAL bit_expr interval %prec '+' { - $$ = &DateAddExpr{Type: PlusIntervalRightType, Date: $1, Unit: $5, Expr: $4} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: $1, Unit: $5, Interval: $4} } | bit_expr '-' INTERVAL bit_expr interval %prec '-' { - $$ = &DateSubExpr{Type: MinusIntervalRightType, Date: $1, Unit: $5, Expr: $4} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: $1, Unit: $5, Interval: $4} } | bit_expr '*' bit_expr %prec '*' { @@ -5472,7 +5472,7 @@ function_call_keyword } | INTERVAL bit_expr interval '+' bit_expr %prec INTERVAL { - $$ = &DateAddExpr{Type: PlusIntervalLeftType, Date: $5, Unit: $3, Expr: $2} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAddLeft, Date: $5, Unit: $3, Interval: $2} } | INTERVAL openb expression ',' expression_list closeb { @@ -5992,7 +5992,7 @@ UTC_DATE func_paren_opt } | EXTRACT openb interval FROM expression closeb { - $$ = &ExtractFuncExpr{IntervalTypes: $3, Expr: $5} + $$ = &ExtractFuncExpr{IntervalType: $3, Expr: $5} } | WEIGHT_STRING openb expression convert_type_weight_string closeb { @@ -6608,27 +6608,27 @@ UTC_DATE func_paren_opt } | ADDDATE openb expression ',' INTERVAL bit_expr interval closeb { - $$ = &DateAddExpr{Type: AdddateType, Date: $3, Expr: $6, Unit: $7} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: $3, Interval: $6, Unit: $7} } | ADDDATE openb expression ',' expression closeb { - $$ = &DateAddExpr{Type: AdddateType, Date: $3, Expr: $5} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: $3, Interval: $5, Unit: IntervalNone} } | DATE_ADD openb expression ',' INTERVAL bit_expr interval closeb { - $$ = &DateAddExpr{Type: DateAddType, Date: $3, Expr: $6, Unit: $7} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprDateAdd, Date: $3, Interval: $6, Unit: $7} } | DATE_SUB openb expression ',' INTERVAL bit_expr interval closeb { - $$ = &DateSubExpr{Type: DateSubType, Date: $3, Expr: $6, Unit: $7} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprDateSub, Date: $3, Interval: $6, Unit: $7} } | SUBDATE openb expression ',' INTERVAL bit_expr interval closeb { - $$ = &DateSubExpr{Type: SubdateType, Date: $3, Expr: $6, Unit: $7} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: $3, Interval: $6, Unit: $7} } | SUBDATE openb expression ',' expression closeb { - $$ = &DateSubExpr{Type: SubdateType, Date: $3, Expr: $5} + $$ = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: $3, Interval: $5, Unit: IntervalNone} } | regular_expressions | xml_expressions diff --git a/go/vt/vtgate/evalengine/cached_size.go b/go/vt/vtgate/evalengine/cached_size.go index 22b0ac78acf..c249bf3e86c 100644 --- a/go/vt/vtgate/evalengine/cached_size.go +++ b/go/vt/vtgate/evalengine/cached_size.go @@ -657,6 +657,18 @@ func (cached *builtinDateFormat) CachedSize(alloc bool) int64 { size += cached.CallExpr.CachedSize(false) return size } +func (cached *builtinDateMath) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field CallExpr vitess.io/vitess/go/vt/vtgate/evalengine.CallExpr + size += cached.CallExpr.CachedSize(false) + return size +} func (cached *builtinDayOfMonth) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/vtgate/evalengine/compiler_asm.go b/go/vt/vtgate/evalengine/compiler_asm.go index 8be4707977d..870c32fd767 100644 --- a/go/vt/vtgate/evalengine/compiler_asm.go +++ b/go/vt/vtgate/evalengine/compiler_asm.go @@ -3343,7 +3343,7 @@ func (asm *assembler) Fn_Sysdate(prec uint8) { if tz := env.currentTimezone(); tz != nil { now = now.In(tz) } - val.bytes = datetime.FromStdTime(now).Format(prec) + val.bytes = datetime.NewDateTimeFromStd(now).Format(prec) env.vm.stack[env.vm.sp] = val env.vm.sp++ return 1 @@ -3591,7 +3591,7 @@ func (asm *assembler) Fn_FROM_UNIXTIME_i() { if tz := env.currentTimezone(); tz != nil { t = t.In(tz) } - env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.FromStdTime(t), 0) + env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.NewDateTimeFromStd(t), 0) return 1 }, "FN FROM_UNIXTIME INT64(SP-1)") } @@ -3607,7 +3607,7 @@ func (asm *assembler) Fn_FROM_UNIXTIME_u() { if tz := env.currentTimezone(); tz != nil { t = t.In(tz) } - env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.FromStdTime(t), 0) + env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.NewDateTimeFromStd(t), 0) return 1 }, "FN FROM_UNIXTIME UINT64(SP-1)") } @@ -3631,7 +3631,7 @@ func (asm *assembler) Fn_FROM_UNIXTIME_d() { if tz := env.currentTimezone(); tz != nil { t = t.In(tz) } - env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.FromStdTime(t), int(arg.length)) + env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.NewDateTimeFromStd(t), int(arg.length)) return 1 }, "FN FROM_UNIXTIME DECIMAL(SP-1)") } @@ -3648,7 +3648,7 @@ func (asm *assembler) Fn_FROM_UNIXTIME_f() { if tz := env.currentTimezone(); tz != nil { t = t.In(tz) } - env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.FromStdTime(t), 6) + env.vm.stack[env.vm.sp-1] = env.vm.arena.newEvalDateTime(datetime.NewDateTimeFromStd(t), 6) return 1 }, "FN FROM_UNIXTIME FLOAT(SP-1)") } @@ -3674,7 +3674,7 @@ func (asm *assembler) Fn_MAKEDATE() { if t.IsZero() { env.vm.stack[env.vm.sp-2] = nil } else { - env.vm.stack[env.vm.sp-2] = env.vm.arena.newEvalDate(datetime.FromStdTime(t).Date) + env.vm.stack[env.vm.sp-2] = env.vm.arena.newEvalDate(datetime.NewDateTimeFromStd(t).Date) } env.vm.sp-- return 1 @@ -4240,3 +4240,48 @@ func (asm *assembler) Fn_UUID_TO_BIN1() { return 1 }, "FN UUID_TO_BIN VARBINARY(SP-2) INT64(SP-1)") } + +func (asm *assembler) Fn_DATEADD_D(unit datetime.IntervalType, sub bool) { + asm.adjustStack(-1) + asm.emit(func(env *ExpressionEnv) int { + interval := evalToInterval(env.vm.stack[env.vm.sp-1], unit, sub) + if interval == nil { + env.vm.stack[env.vm.sp-2] = nil + env.vm.sp-- + return 1 + } + + tmp := env.vm.stack[env.vm.sp-2].(*evalTemporal) + env.vm.stack[env.vm.sp-2] = tmp.addInterval(interval, collations.TypedCollation{}) + env.vm.sp-- + return 1 + }, "FN DATEADD TEMPORAL(SP-2), INTERVAL(SP-1)") +} + +func (asm *assembler) Fn_DATEADD_s(unit datetime.IntervalType, sub bool, col collations.TypedCollation) { + asm.adjustStack(-1) + asm.emit(func(env *ExpressionEnv) int { + var interval *datetime.Interval + var tmp *evalTemporal + + interval = evalToInterval(env.vm.stack[env.vm.sp-1], unit, sub) + if interval == nil { + goto baddate + } + + tmp = evalToTemporal(env.vm.stack[env.vm.sp-2]) + if tmp == nil { + goto baddate + } + + env.vm.stack[env.vm.sp-2] = tmp.addInterval(interval, col) + env.vm.sp-- + return 1 + + baddate: + env.vm.stack[env.vm.sp-2] = nil + env.vm.sp-- + return 1 + }, "FN DATEADD TEMPORAL(SP-2), INTERVAL(SP-1)") + +} diff --git a/go/vt/vtgate/evalengine/eval_temporal.go b/go/vt/vtgate/evalengine/eval_temporal.go index e04f6174dd6..fe7b9ea87f3 100644 --- a/go/vt/vtgate/evalengine/eval_temporal.go +++ b/go/vt/vtgate/evalengine/eval_temporal.go @@ -4,6 +4,7 @@ import ( "time" "vitess.io/vitess/go/hack" + "vitess.io/vitess/go/mysql/collations" "vitess.io/vitess/go/mysql/datetime" "vitess.io/vitess/go/mysql/decimal" "vitess.io/vitess/go/mysql/json" @@ -143,6 +144,30 @@ func (e *evalTemporal) toStdTime(loc *time.Location) time.Time { return e.dt.ToStdTime(loc) } +func (e *evalTemporal) addInterval(interval *datetime.Interval, strcoll collations.TypedCollation) eval { + var tmp *evalTemporal + var ok bool + + switch tt := e.SQLType(); { + case tt == sqltypes.Date && !interval.Unit().HasTimeParts(): + tmp = &evalTemporal{t: e.t} + tmp.dt.Date, ok = e.dt.Date.AddInterval(interval) + case tt == sqltypes.Time && !interval.Unit().HasDateParts(): + tmp = &evalTemporal{t: e.t} + tmp.dt.Time, tmp.prec, ok = e.dt.Time.AddInterval(interval, strcoll.Valid()) + case tt == sqltypes.Datetime || tt == sqltypes.Timestamp || (tt == sqltypes.Date && interval.Unit().HasTimeParts()) || (tt == sqltypes.Time && interval.Unit().HasDateParts()): + tmp = e.toDateTime(int(e.prec)) + tmp.dt, tmp.prec, ok = e.dt.AddInterval(interval, strcoll.Valid()) + } + if !ok { + return nil + } + if strcoll.Valid() { + return newEvalRaw(sqltypes.Char, tmp.ToRawBytes(), strcoll) + } + return tmp +} + func newEvalDateTime(dt datetime.DateTime, l int) *evalTemporal { return &evalTemporal{t: sqltypes.Datetime, dt: dt.Round(l), prec: uint8(l)} } @@ -190,6 +215,74 @@ func precision(req, got int) int { return req } +func evalToTemporal(e eval) *evalTemporal { + switch e := e.(type) { + case *evalTemporal: + return e + case *evalBytes: + if t, l, ok := datetime.ParseDateTime(e.string(), -1); ok { + return newEvalDateTime(t, l) + } + if d, ok := datetime.ParseDate(e.string()); ok { + return newEvalDate(d) + } + if t, l, ok := datetime.ParseTime(e.string(), -1); ok { + return newEvalTime(t, l) + } + case *evalInt64: + if t, ok := datetime.ParseDateTimeInt64(e.i); ok { + return newEvalDateTime(t, 0) + } + if d, ok := datetime.ParseDateInt64(e.i); ok { + return newEvalDate(d) + } + if t, ok := datetime.ParseTimeInt64(e.i); ok { + return newEvalTime(t, 0) + } + case *evalUint64: + if t, ok := datetime.ParseDateTimeInt64(int64(e.u)); ok { + return newEvalDateTime(t, 0) + } + if d, ok := datetime.ParseDateInt64(int64(e.u)); ok { + return newEvalDate(d) + } + if t, ok := datetime.ParseTimeInt64(int64(e.u)); ok { + return newEvalTime(t, 0) + } + case *evalFloat: + if t, l, ok := datetime.ParseDateTimeFloat(e.f, -1); ok { + return newEvalDateTime(t, l) + } + if d, ok := datetime.ParseDateFloat(e.f); ok { + return newEvalDate(d) + } + if t, l, ok := datetime.ParseTimeFloat(e.f, -1); ok { + return newEvalTime(t, l) + } + case *evalDecimal: + if t, l, ok := datetime.ParseDateTimeDecimal(e.dec, e.length, -1); ok { + return newEvalDateTime(t, l) + } + if d, ok := datetime.ParseDateDecimal(e.dec); ok { + return newEvalDate(d) + } + if d, l, ok := datetime.ParseTimeDecimal(e.dec, e.length, -1); ok { + return newEvalTime(d, l) + } + case *evalJSON: + if dt, ok := e.DateTime(); ok { + if dt.Date.IsZero() { + return newEvalTime(dt.Time, datetime.DefaultPrecision) + } + if dt.Time.IsZero() { + return newEvalDate(dt.Date) + } + return newEvalDateTime(dt, datetime.DefaultPrecision) + } + } + return nil +} + func evalToTime(e eval, l int) *evalTemporal { switch e := e.(type) { case *evalTemporal: diff --git a/go/vt/vtgate/evalengine/expr_env.go b/go/vt/vtgate/evalengine/expr_env.go index 423aae30afe..9707b5b9b93 100644 --- a/go/vt/vtgate/evalengine/expr_env.go +++ b/go/vt/vtgate/evalengine/expr_env.go @@ -51,9 +51,9 @@ type ( func (env *ExpressionEnv) time(utc bool) datetime.DateTime { if utc { - return datetime.FromStdTime(env.now.UTC()) + return datetime.NewDateTimeFromStd(env.now.UTC()) } - return datetime.FromStdTime(env.now) + return datetime.NewDateTimeFromStd(env.now) } func (env *ExpressionEnv) currentUser() string { diff --git a/go/vt/vtgate/evalengine/fn_time.go b/go/vt/vtgate/evalengine/fn_time.go index 483c27144c5..99e0f27f755 100644 --- a/go/vt/vtgate/evalengine/fn_time.go +++ b/go/vt/vtgate/evalengine/fn_time.go @@ -141,6 +141,13 @@ type ( builtinYearWeek struct { CallExpr } + + builtinDateMath struct { + CallExpr + sub bool + unit datetime.IntervalType + collate collations.ID + } ) var _ Expr = (*builtinNow)(nil) @@ -212,7 +219,7 @@ func (call *builtinSysdate) eval(env *ExpressionEnv) (eval, error) { if tz := env.currentTimezone(); tz != nil { now = now.In(tz) } - return newEvalRaw(sqltypes.Datetime, datetime.FromStdTime(now).Format(call.prec), collationBinary), nil + return newEvalRaw(sqltypes.Datetime, datetime.NewDateTimeFromStd(now).Format(call.prec), collationBinary), nil } func (call *builtinSysdate) typeof(_ *ExpressionEnv, _ []*querypb.Field) (sqltypes.Type, typeFlag) { @@ -340,7 +347,7 @@ func convertTz(dt datetime.DateTime, from, to *time.Location) (datetime.DateTime if err != nil { return datetime.DateTime{}, false } - return datetime.FromStdTime(ts.In(to)), true + return datetime.NewDateTimeFromStd(ts.In(to)), true } func (call *builtinConvertTz) eval(env *ExpressionEnv) (eval, error) { @@ -646,7 +653,7 @@ func (b *builtinFromUnixtime) eval(env *ExpressionEnv) (eval, error) { t = t.In(tz) } - dt := newEvalDateTime(datetime.FromStdTime(t), prec) + dt := newEvalDateTime(datetime.NewDateTimeFromStd(t), prec) if len(b.Arguments) == 1 { return dt, nil @@ -809,7 +816,7 @@ func (b *builtinMakedate) eval(env *ExpressionEnv) (eval, error) { if t.IsZero() { return nil, nil } - return newEvalDate(datetime.FromStdTime(t).Date), nil + return newEvalDate(datetime.NewDateTimeFromStd(t).Date), nil } func (b *builtinMakedate) typeof(env *ExpressionEnv, fields []*querypb.Field) (sqltypes.Type, typeFlag) { @@ -1688,3 +1695,92 @@ func (call *builtinYearWeek) compile(c *compiler) (ctype, error) { c.asm.jumpDestination(skip1, skip2) return ctype{Type: sqltypes.Int64, Col: collationNumeric, Flag: arg.Flag | flagNullable}, nil } + +func evalToInterval(itv eval, unit datetime.IntervalType, negate bool) *datetime.Interval { + switch itv := itv.(type) { + case *evalBytes: + return datetime.ParseInterval(itv.string(), unit, negate) + case *evalFloat: + return datetime.ParseIntervalFloat(itv.f, unit, negate) + case *evalDecimal: + return datetime.ParseIntervalDecimal(itv.dec, itv.length, unit, negate) + default: + return datetime.ParseIntervalInt64(evalToNumeric(itv, false).toInt64().i, unit, negate) + } +} + +func (call *builtinDateMath) eval(env *ExpressionEnv) (eval, error) { + date, err := call.Arguments[0].eval(env) + if err != nil || date == nil { + return date, err + } + + itv, err := call.Arguments[1].eval(env) + if err != nil || itv == nil { + return itv, err + } + + interval := evalToInterval(itv, call.unit, call.sub) + if interval == nil { + return nil, nil + } + + if tmp, ok := date.(*evalTemporal); ok { + return tmp.addInterval(interval, collations.TypedCollation{}), nil + } + + if tmp := evalToTemporal(date); tmp != nil { + return tmp.addInterval(interval, defaultCoercionCollation(call.collate)), nil + } + + return nil, nil +} + +func (call *builtinDateMath) typeof(env *ExpressionEnv, fields []*querypb.Field) (sqltypes.Type, typeFlag) { + tt, f := call.Arguments[0].typeof(env, fields) + + switch { + case tt == sqltypes.Date && !call.unit.HasTimeParts(): + return sqltypes.Date, f | flagNullable + case tt == sqltypes.Time && !call.unit.HasDateParts(): + return sqltypes.Time, f | flagNullable + case tt == sqltypes.Datetime || tt == sqltypes.Timestamp || (tt == sqltypes.Date && call.unit.HasTimeParts()) || (tt == sqltypes.Time && call.unit.HasDateParts()): + return sqltypes.Datetime, f | flagNullable + default: + return sqltypes.Char, f | flagNullable + } +} + +func (call *builtinDateMath) compile(c *compiler) (ctype, error) { + date, err := call.Arguments[0].compile(c) + if err != nil { + return ctype{}, err + } + + // TODO: constant propagation + _, err = call.Arguments[1].compile(c) + if err != nil { + return ctype{}, err + } + + var ret ctype + ret.Flag = date.Flag | flagNullable + ret.Col = collationBinary + + switch { + case date.Type == sqltypes.Date && !call.unit.HasTimeParts(): + ret.Type = sqltypes.Date + c.asm.Fn_DATEADD_D(call.unit, call.sub) + case date.Type == sqltypes.Time && !call.unit.HasDateParts(): + ret.Type = sqltypes.Time + c.asm.Fn_DATEADD_D(call.unit, call.sub) + case date.Type == sqltypes.Datetime || date.Type == sqltypes.Timestamp || (date.Type == sqltypes.Date && call.unit.HasTimeParts()) || (date.Type == sqltypes.Time && call.unit.HasDateParts()): + ret.Type = sqltypes.Datetime + c.asm.Fn_DATEADD_D(call.unit, call.sub) + default: + ret.Type = sqltypes.VarChar + ret.Col = defaultCoercionCollation(c.cfg.Collation) + c.asm.Fn_DATEADD_s(call.unit, call.sub, ret.Col) + } + return ret, nil +} diff --git a/go/vt/vtgate/evalengine/integration/comparison_test.go b/go/vt/vtgate/evalengine/integration/comparison_test.go index dc06f726492..1ee8fa0a515 100644 --- a/go/vt/vtgate/evalengine/integration/comparison_test.go +++ b/go/vt/vtgate/evalengine/integration/comparison_test.go @@ -45,7 +45,7 @@ import ( var ( collationEnv *collations.Environment - debugPrintAll bool + debugGolden = false debugNormalize = true debugSimplify = time.Now().UnixNano()&1 != 0 debugCheckTypes = true @@ -53,7 +53,7 @@ var ( ) func registerFlags(fs *pflag.FlagSet) { - fs.BoolVar(&debugPrintAll, "print-all", debugPrintAll, "print all matching tests") + fs.BoolVar(&debugGolden, "golden", debugGolden, "print golden test files") fs.BoolVar(&debugNormalize, "normalize", debugNormalize, "normalize comparisons against MySQL values") fs.BoolVar(&debugSimplify, "simplify", debugSimplify, "simplify expressions before evaluating them") fs.BoolVar(&debugCheckTypes, "check-types", debugCheckTypes, "check the TypeOf operator for all queries") @@ -195,13 +195,24 @@ func compareRemoteExprEnv(t *testing.T, env *evalengine.ExpressionEnv, conn *mys Collation: remoteCollation, } + if debugGolden { + g := GoldenTest{Query: localQuery} + if remoteErr != nil { + g.Error = remoteErr.Error() + } else { + g.Value = remoteVal.String() + } + seenGoldenTests = append(seenGoldenTests, g) + return + } + if err := compareResult(localResult, remoteResult, cmp); err != nil { t.Errorf("%s\nquery: %s (SIMPLIFY=%v)\nrow: %v", err, localQuery, debugSimplify, env.Row) - } else if debugPrintAll { - t.Logf("local=%s mysql=%s\nquery: %s\nrow: %v", localVal.String(), remoteVal.String(), localQuery, env.Row) } } +var seenGoldenTests []GoldenTest + type vcursor struct { } @@ -261,4 +272,8 @@ func TestMySQL(t *testing.T) { }) }) } + + if debugGolden { + writeGolden(t, seenGoldenTests) + } } diff --git a/go/vt/vtgate/evalengine/integration/fuzz_test.go b/go/vt/vtgate/evalengine/integration/fuzz_test.go index fa4fb82f82e..24cd2733fd4 100644 --- a/go/vt/vtgate/evalengine/integration/fuzz_test.go +++ b/go/vt/vtgate/evalengine/integration/fuzz_test.go @@ -177,6 +177,12 @@ func evaluateLocalEvalengine(env *evalengine.ExpressionEnv, query string, fields const syntaxErr = `You have an error in your SQL syntax; (errno 1064) (sqlstate 42000) during query: SQL` const localSyntaxErr = `You have an error in your SQL syntax;` +type GoldenTest struct { + Query string + Value string `json:",omitempty"` + Error string `json:",omitempty"` +} + func TestGenerateFuzzCases(t *testing.T) { if fuzzMaxFailures <= 0 { t.Skipf("skipping fuzz test generation") @@ -254,12 +260,7 @@ func TestGenerateFuzzCases(t *testing.T) { return } - type evaltest struct { - Query string - Value string `json:",omitempty"` - Error string `json:",omitempty"` - } - var golden []evaltest + var golden []GoldenTest for _, fail := range failures { failErr := fail.Error() @@ -276,18 +277,22 @@ func TestGenerateFuzzCases(t *testing.T) { query := "SELECT " + sqlparser.String(simplified) if fail.remoteErr != nil { - golden = append(golden, evaltest{ + golden = append(golden, GoldenTest{ Query: query, Error: fail.remoteErr.Error(), }) } else { - golden = append(golden, evaltest{ + golden = append(golden, GoldenTest{ Query: query, Value: fail.remoteVal.String(), }) } } + writeGolden(t, golden) +} + +func writeGolden(t *testing.T, golden []GoldenTest) { out, err := os.Create(fmt.Sprintf("testdata/mysql_golden_%d.json", time.Now().Unix())) if err != nil { t.Fatal(err) diff --git a/go/vt/vtgate/evalengine/integration/testdata/mysql_golden_1686149004.json b/go/vt/vtgate/evalengine/integration/testdata/mysql_golden_1686149004.json new file mode 100644 index 00000000000..1c12d2d8825 --- /dev/null +++ b/go/vt/vtgate/evalengine/integration/testdata/mysql_golden_1686149004.json @@ -0,0 +1,36046 @@ +[ + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01',INTERVAL 1 DAY)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01',INTERVAL 1 YEAR)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 SECOND)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2018-12-31 23:59:59', INTERVAL 1 DAY)", + "Value": "DATETIME(\"2019-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2100-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND)", + "Value": "DATETIME(\"2101-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' DAY_SECOND)", + "Value": "DATETIME(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'1900-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR)", + "Value": "DATETIME(\"1899-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'1998-01-02', INTERVAL 31 DAY)", + "Value": "DATE(\"1997-12-02\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'1992-12-31 23:59:59.000002', INTERVAL '1.999999' SECOND_MICROSECOND)", + "Value": "DATETIME(\"1993-01-01 00:00:01.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2024-03-30', INTERVAL 1 MONTH)", + "Value": "DATE(\"2024-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2024-03-31', INTERVAL 1 MONTH)", + "Value": "DATE(\"2024-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 day)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 day)", + "Value": "DATE(\"2018-03-31\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 day)", + "Value": "DATE(\"2018-05-31\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 day)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' day)", + "Value": "DATE(\"2018-05-07\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' day)", + "Value": "DATE(\"2018-04-25\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "DATE(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "DATE(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' day)", + "Value": "DATE(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' day)", + "Value": "DATE(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 week)", + "Value": "DATE(\"2018-12-04\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 week)", + "Value": "DATE(\"2017-09-26\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 week)", + "Value": "DATE(\"2018-11-27\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 week)", + "Value": "DATE(\"2017-10-03\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' week)", + "Value": "DATE(\"2018-06-12\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' week)", + "Value": "DATE(\"2018-03-20\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "DATE(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "DATE(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' week)", + "Value": "DATE(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' week)", + "Value": "DATE(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 month)", + "Value": "DATE(\"2020-12-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 month)", + "Value": "DATE(\"2015-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 month)", + "Value": "DATE(\"2020-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 month)", + "Value": "DATE(\"2015-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' month)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' month)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 year)", + "Value": "DATE(\"2049-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 year)", + "Value": "DATE(\"1987-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 year)", + "Value": "DATE(\"2048-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 year)", + "Value": "DATE(\"1988-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' year)", + "Value": "DATE(\"2024-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' year)", + "Value": "DATE(\"2012-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "DATE(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "DATE(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' year)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' year)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 day_hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 day_hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' day_hour)", + "Value": "DATETIME(\"2018-05-02 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' day_hour)", + "Value": "DATETIME(\"2018-04-29 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' day_hour)", + "Value": "DATETIME(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' day_hour)", + "Value": "DATETIME(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' day_hour)", + "Value": "DATETIME(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' day_hour)", + "Value": "DATETIME(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 day_hour)", + "Value": "DATETIME(\"2018-05-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 day_hour)", + "Value": "DATETIME(\"2018-04-29 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 day_hour)", + "Value": "DATETIME(\"2018-05-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 day_hour)", + "Value": "DATETIME(\"2018-04-29 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' day_hour)", + "Value": "DATETIME(\"2132-05-30 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' day_hour)", + "Value": "DATETIME(\"1904-04-01 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 day_hour)", + "Value": "DATETIME(\"2018-06-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 day_hour)", + "Value": "DATETIME(\"2018-03-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' day_hour)", + "Value": "DATETIME(\"2018-06-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' day_hour)", + "Value": "DATETIME(\"2018-03-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' day_hour)", + "Value": "DATETIME(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' day_hour)", + "Value": "DATETIME(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' day_hour)", + "Value": "DATETIME(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' day_hour)", + "Value": "DATETIME(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 day_hour)", + "Value": "DATETIME(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 day_hour)", + "Value": "DATETIME(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 day_hour)", + "Value": "DATETIME(\"2018-11-26 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 day_hour)", + "Value": "DATETIME(\"2017-10-03 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 day_hour)", + "Value": "DATETIME(\"2018-11-26 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 day_hour)", + "Value": "DATETIME(\"2017-10-03 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' day_hour)", + "Value": "DATETIME(\"2018-05-07 04:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' day_hour)", + "Value": "DATETIME(\"2018-04-24 20:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 day_hour)", + "Value": "DATETIME(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 day_hour)", + "Value": "DATETIME(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 day_hour)", + "Value": "DATETIME(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 day_hour)", + "Value": "DATETIME(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "DATETIME(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "DATETIME(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 day_hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 day_hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' day_hour)", + "Value": "DATETIME(\"2018-05-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' day_hour)", + "Value": "DATETIME(\"2018-04-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' day_hour)", + "Value": "DATETIME(\"2018-05-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' day_hour)", + "Value": "DATETIME(\"2018-04-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' day_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' day_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 day_minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 day_minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' day_minute)", + "Value": "DATETIME(\"2018-05-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' day_minute)", + "Value": "DATETIME(\"2018-04-30 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' day_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' day_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' day_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' day_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 day_minute)", + "Value": "DATETIME(\"2018-05-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 day_minute)", + "Value": "DATETIME(\"2018-04-30 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 day_minute)", + "Value": "DATETIME(\"2018-05-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 day_minute)", + "Value": "DATETIME(\"2018-04-30 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' day_minute)", + "Value": "DATETIME(\"2020-03-25 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' day_minute)", + "Value": "DATETIME(\"2016-06-05 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 day_minute)", + "Value": "DATETIME(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 day_minute)", + "Value": "DATETIME(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' day_minute)", + "Value": "DATETIME(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' day_minute)", + "Value": "DATETIME(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' day_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' day_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' day_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' day_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 day_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 day_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 day_minute)", + "Value": "DATETIME(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 day_minute)", + "Value": "DATETIME(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 day_minute)", + "Value": "DATETIME(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 day_minute)", + "Value": "DATETIME(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' day_minute)", + "Value": "DATETIME(\"2018-05-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' day_minute)", + "Value": "DATETIME(\"2018-04-30 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 day_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 day_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 day_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 day_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 day_minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 day_minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' day_minute)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' day_minute)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' day_minute)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' day_minute)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 day_second)", + "Value": "DATETIME(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 day_second)", + "Value": "DATETIME(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' day_second)", + "Value": "DATETIME(\"2018-05-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' day_second)", + "Value": "DATETIME(\"2018-04-29 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 day_second)", + "Value": "DATETIME(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 day_second)", + "Value": "DATETIME(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 day_second)", + "Value": "DATETIME(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 day_second)", + "Value": "DATETIME(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' day_second)", + "Value": "DATETIME(\"2018-05-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' day_second)", + "Value": "DATETIME(\"2018-04-19 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 day_second)", + "Value": "DATETIME(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 day_second)", + "Value": "DATETIME(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' day_second)", + "Value": "DATETIME(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' day_second)", + "Value": "DATETIME(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' day_second)", + "Value": "DATETIME(\"2018-05-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' day_second)", + "Value": "DATETIME(\"2018-04-29 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' day_second)", + "Value": "DATETIME(\"2018-05-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' day_second)", + "Value": "DATETIME(\"2018-04-29 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 day_second)", + "Value": "DATETIME(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 day_second)", + "Value": "DATETIME(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 day_second)", + "Value": "DATETIME(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 day_second)", + "Value": "DATETIME(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' day_second)", + "Value": "DATETIME(\"2018-05-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' day_second)", + "Value": "DATETIME(\"2018-04-30 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "DATETIME(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "DATETIME(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 day_second)", + "Value": "DATETIME(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 day_second)", + "Value": "DATETIME(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' day_second)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' day_second)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' day_second)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 hour)", + "Value": "DATETIME(\"2018-05-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 hour)", + "Value": "DATETIME(\"2018-04-29 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 hour)", + "Value": "DATETIME(\"2018-05-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 hour)", + "Value": "DATETIME(\"2018-04-29 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' hour)", + "Value": "DATETIME(\"2018-05-01 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' hour)", + "Value": "DATETIME(\"2018-04-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "DATETIME(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "DATETIME(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' hour)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' hour)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 hour_minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 hour_minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 hour_minute)", + "Value": "DATETIME(\"2018-05-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 hour_minute)", + "Value": "DATETIME(\"2018-04-30 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 hour_minute)", + "Value": "DATETIME(\"2018-05-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 hour_minute)", + "Value": "DATETIME(\"2018-04-30 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' hour_minute)", + "Value": "DATETIME(\"2020-03-25 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' hour_minute)", + "Value": "DATETIME(\"2016-06-05 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 hour_minute)", + "Value": "DATETIME(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 hour_minute)", + "Value": "DATETIME(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' hour_minute)", + "Value": "DATETIME(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' hour_minute)", + "Value": "DATETIME(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 hour_minute)", + "Value": "DATETIME(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 hour_minute)", + "Value": "DATETIME(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 hour_minute)", + "Value": "DATETIME(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 hour_minute)", + "Value": "DATETIME(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' hour_minute)", + "Value": "DATETIME(\"2018-05-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' hour_minute)", + "Value": "DATETIME(\"2018-04-30 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "DATETIME(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 hour_minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 hour_minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' hour_minute)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' hour_minute)", + "Value": "DATETIME(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' hour_minute)", + "Value": "DATETIME(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' hour_second)", + "Value": "DATETIME(\"2018-05-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' hour_second)", + "Value": "DATETIME(\"2018-04-19 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 hour_second)", + "Value": "DATETIME(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 hour_second)", + "Value": "DATETIME(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 hour_second)", + "Value": "DATETIME(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 hour_second)", + "Value": "DATETIME(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "DATETIME(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "DATETIME(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 hour_second)", + "Value": "DATETIME(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 hour_second)", + "Value": "DATETIME(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' hour_second)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' hour_second)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000031\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999969\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000030\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999970\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000006\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999994\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 minute)", + "Value": "DATETIME(\"2018-05-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 minute)", + "Value": "DATETIME(\"2018-04-30 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 minute)", + "Value": "DATETIME(\"2018-05-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 minute)", + "Value": "DATETIME(\"2018-04-30 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' minute)", + "Value": "DATETIME(\"2018-05-01 00:06:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' minute)", + "Value": "DATETIME(\"2018-04-30 23:54:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "DATETIME(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "DATETIME(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' minute)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' minute)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' minute_second)", + "Value": "DATETIME(\"2018-05-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' minute_second)", + "Value": "DATETIME(\"2018-04-19 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 minute_second)", + "Value": "DATETIME(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 minute_second)", + "Value": "DATETIME(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 minute_second)", + "Value": "DATETIME(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 minute_second)", + "Value": "DATETIME(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "DATETIME(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "DATETIME(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "DATETIME(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 minute_second)", + "Value": "DATETIME(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 minute_second)", + "Value": "DATETIME(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' minute_second)", + "Value": "DATETIME(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' minute_second)", + "Value": "DATETIME(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 quarter)", + "Value": "DATE(\"2026-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 quarter)", + "Value": "DATE(\"2010-08-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 quarter)", + "Value": "DATE(\"2025-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 quarter)", + "Value": "DATE(\"2010-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' quarter)", + "Value": "DATE(\"2019-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' quarter)", + "Value": "DATE(\"2016-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "DATE(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "DATE(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' quarter)", + "Value": "DATE(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' quarter)", + "Value": "DATE(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 second)", + "Value": "DATETIME(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 second)", + "Value": "DATETIME(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 second)", + "Value": "DATETIME(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 second)", + "Value": "DATETIME(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 second)", + "Value": "DATETIME(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.5\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.5\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.5000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.5000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.5000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.5000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' second)", + "Value": "DATETIME(\"2018-05-01 00:00:06.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' second)", + "Value": "DATETIME(\"2018-04-30 23:59:54.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.5\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "DATETIME(\"2018-04-30 23:59:58.5\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "DATETIME(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "DATETIME(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' second)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' second)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' second_microsecond)", + "Value": "DATETIME(\"2018-05-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' second_microsecond)", + "Value": "DATETIME(\"2018-04-30 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1 year_month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1 year_month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1' year_month)", + "Value": "DATE(\"2019-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1' year_month)", + "Value": "DATE(\"2017-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1 10' year_month)", + "Value": "DATE(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1 10' year_month)", + "Value": "DATE(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1 10' year_month)", + "Value": "DATE(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1 10' year_month)", + "Value": "DATE(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 31 year_month)", + "Value": "DATE(\"2020-12-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 31 year_month)", + "Value": "DATE(\"2015-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 30 year_month)", + "Value": "DATE(\"2020-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 30 year_month)", + "Value": "DATE(\"2015-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.999 year_month)", + "Value": "DATE(\"2102-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.999 year_month)", + "Value": "DATE(\"1934-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.999' year_month)", + "Value": "DATE(\"2102-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.999' year_month)", + "Value": "DATE(\"1934-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '-1:10' year_month)", + "Value": "DATE(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '-1:10' year_month)", + "Value": "DATE(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1:10' year_month)", + "Value": "DATE(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1:10' year_month)", + "Value": "DATE(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5 year_month)", + "Value": "DATE(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5 year_month)", + "Value": "DATE(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000 year_month)", + "Value": "DATE(\"2436-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000 year_month)", + "Value": "DATE(\"1600-09-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 6/4 year_month)", + "Value": "DATE(\"2436-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 6/4 year_month)", + "Value": "DATE(\"1600-09-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '6/4' year_month)", + "Value": "DATE(\"2024-09-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '6/4' year_month)", + "Value": "DATE(\"2012-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5e0 year_month)", + "Value": "DATE(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5e0 year_month)", + "Value": "DATE(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1.5000e0 year_month)", + "Value": "DATE(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1.5000e0 year_month)", + "Value": "DATE(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "DATE(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "DATE(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "DATE(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "DATE(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL 1e0 year_month)", + "Value": "DATE(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL 1e0 year_month)", + "Value": "DATE(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0' year_month)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0' year_month)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(DATE'2018-05-01', INTERVAL '1.0foobar' year_month)", + "Value": "DATE(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(DATE'2018-05-01', INTERVAL '1.0foobar' year_month)", + "Value": "DATE(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day)", + "Value": "DATETIME(\"2021-01-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day)", + "Value": "DATETIME(\"2020-12-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day)", + "Value": "DATETIME(\"2021-01-06 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day)", + "Value": "DATETIME(\"2020-12-25 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "DATETIME(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "DATETIME(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 week)", + "Value": "DATETIME(\"2021-08-05 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 week)", + "Value": "DATETIME(\"2020-05-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 week)", + "Value": "DATETIME(\"2021-07-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 week)", + "Value": "DATETIME(\"2020-06-04 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' week)", + "Value": "DATETIME(\"2021-02-11 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' week)", + "Value": "DATETIME(\"2020-11-19 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "DATETIME(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "DATETIME(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' week)", + "Value": "DATETIME(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' week)", + "Value": "DATETIME(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 month)", + "Value": "DATETIME(\"2023-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 month)", + "Value": "DATETIME(\"2018-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 month)", + "Value": "DATETIME(\"2023-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 month)", + "Value": "DATETIME(\"2018-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' month)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' month)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 year)", + "Value": "DATETIME(\"2051-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 year)", + "Value": "DATETIME(\"1989-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 year)", + "Value": "DATETIME(\"2050-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 year)", + "Value": "DATETIME(\"1990-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' year)", + "Value": "DATETIME(\"2026-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' year)", + "Value": "DATETIME(\"2014-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "DATETIME(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "DATETIME(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' year)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' year)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_hour)", + "Value": "DATETIME(\"2021-01-02 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_hour)", + "Value": "DATETIME(\"2020-12-30 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_hour)", + "Value": "DATETIME(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_hour)", + "Value": "DATETIME(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_hour)", + "Value": "DATETIME(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_hour)", + "Value": "DATETIME(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_hour)", + "Value": "DATETIME(\"2021-01-02 06:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_hour)", + "Value": "DATETIME(\"2020-12-30 16:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_hour)", + "Value": "DATETIME(\"2021-01-02 05:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_hour)", + "Value": "DATETIME(\"2020-12-30 17:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_hour)", + "Value": "DATETIME(\"2135-01-31 14:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_hour)", + "Value": "DATETIME(\"1906-12-03 08:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_hour)", + "Value": "DATETIME(\"2021-02-12 14:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_hour)", + "Value": "DATETIME(\"2020-11-19 08:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_hour)", + "Value": "DATETIME(\"2021-02-12 14:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_hour)", + "Value": "DATETIME(\"2020-11-19 08:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_hour)", + "Value": "DATETIME(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_hour)", + "Value": "DATETIME(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_hour)", + "Value": "DATETIME(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_hour)", + "Value": "DATETIME(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_hour)", + "Value": "DATETIME(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_hour)", + "Value": "DATETIME(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_hour)", + "Value": "DATETIME(\"2021-07-29 07:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_hour)", + "Value": "DATETIME(\"2020-06-05 15:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_hour)", + "Value": "DATETIME(\"2021-07-29 07:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_hour)", + "Value": "DATETIME(\"2020-06-05 15:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_hour)", + "Value": "DATETIME(\"2021-01-07 03:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_hour)", + "Value": "DATETIME(\"2020-12-25 19:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_hour)", + "Value": "DATETIME(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_hour)", + "Value": "DATETIME(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_hour)", + "Value": "DATETIME(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_hour)", + "Value": "DATETIME(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "DATETIME(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "DATETIME(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_hour)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_hour)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_hour)", + "Value": "DATETIME(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_hour)", + "Value": "DATETIME(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_minute)", + "Value": "DATETIME(\"2021-01-01 01:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_minute)", + "Value": "DATETIME(\"2020-12-31 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_minute)", + "Value": "DATETIME(\"2021-01-01 00:30:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_minute)", + "Value": "DATETIME(\"2020-12-31 23:28:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_minute)", + "Value": "DATETIME(\"2021-01-01 00:29:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_minute)", + "Value": "DATETIME(\"2020-12-31 23:29:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_minute)", + "Value": "DATETIME(\"2022-11-26 11:38:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_minute)", + "Value": "DATETIME(\"2019-02-06 12:20:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_minute)", + "Value": "DATETIME(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_minute)", + "Value": "DATETIME(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_minute)", + "Value": "DATETIME(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_minute)", + "Value": "DATETIME(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_minute)", + "Value": "DATETIME(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_minute)", + "Value": "DATETIME(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_minute)", + "Value": "DATETIME(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_minute)", + "Value": "DATETIME(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_minute)", + "Value": "DATETIME(\"2021-01-01 06:03:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_minute)", + "Value": "DATETIME(\"2020-12-31 17:55:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_minute)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_minute)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_minute)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_minute)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_second)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 day_second)", + "Value": "DATETIME(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_second)", + "Value": "DATETIME(\"2021-01-02 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_second)", + "Value": "DATETIME(\"2020-12-30 22:58:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_second)", + "Value": "DATETIME(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 day_second)", + "Value": "DATETIME(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_second)", + "Value": "DATETIME(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 day_second)", + "Value": "DATETIME(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_second)", + "Value": "DATETIME(\"2021-01-12 13:47:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' day_second)", + "Value": "DATETIME(\"2020-12-20 10:12:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_second)", + "Value": "DATETIME(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 day_second)", + "Value": "DATETIME(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_second)", + "Value": "DATETIME(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' day_second)", + "Value": "DATETIME(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_second)", + "Value": "DATETIME(\"2021-01-02 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_second)", + "Value": "DATETIME(\"2020-12-30 22:58:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_second)", + "Value": "DATETIME(\"2021-01-02 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_second)", + "Value": "DATETIME(\"2020-12-30 22:58:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_second)", + "Value": "DATETIME(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 day_second)", + "Value": "DATETIME(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_second)", + "Value": "DATETIME(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 day_second)", + "Value": "DATETIME(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_second)", + "Value": "DATETIME(\"2021-01-01 00:06:03\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' day_second)", + "Value": "DATETIME(\"2020-12-31 23:53:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "DATETIME(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "DATETIME(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_second)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 day_second)", + "Value": "DATETIME(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_second)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_second)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' day_second)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour)", + "Value": "DATETIME(\"2021-01-02 06:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour)", + "Value": "DATETIME(\"2020-12-30 16:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour)", + "Value": "DATETIME(\"2021-01-02 05:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour)", + "Value": "DATETIME(\"2020-12-30 17:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour)", + "Value": "DATETIME(\"2021-01-01 05:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour)", + "Value": "DATETIME(\"2020-12-31 17:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "DATETIME(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "DATETIME(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour_minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour_minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour_minute)", + "Value": "DATETIME(\"2021-01-01 00:30:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour_minute)", + "Value": "DATETIME(\"2020-12-31 23:28:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour_minute)", + "Value": "DATETIME(\"2021-01-01 00:29:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour_minute)", + "Value": "DATETIME(\"2020-12-31 23:29:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour_minute)", + "Value": "DATETIME(\"2022-11-26 11:38:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour_minute)", + "Value": "DATETIME(\"2019-02-06 12:20:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour_minute)", + "Value": "DATETIME(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour_minute)", + "Value": "DATETIME(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour_minute)", + "Value": "DATETIME(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour_minute)", + "Value": "DATETIME(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour_minute)", + "Value": "DATETIME(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour_minute)", + "Value": "DATETIME(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour_minute)", + "Value": "DATETIME(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour_minute)", + "Value": "DATETIME(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour_minute)", + "Value": "DATETIME(\"2021-01-01 06:03:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour_minute)", + "Value": "DATETIME(\"2020-12-31 17:55:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "DATETIME(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour_minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour_minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour_minute)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_minute)", + "Value": "DATETIME(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_minute)", + "Value": "DATETIME(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour_second)", + "Value": "DATETIME(\"2021-01-12 13:47:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' hour_second)", + "Value": "DATETIME(\"2020-12-20 10:12:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour_second)", + "Value": "DATETIME(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 hour_second)", + "Value": "DATETIME(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour_second)", + "Value": "DATETIME(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 hour_second)", + "Value": "DATETIME(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:06:03\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:53:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "DATETIME(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "DATETIME(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour_second)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 hour_second)", + "Value": "DATETIME(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_second)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_second)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000031\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999969\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000030\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999970\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000006\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999994\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 minute)", + "Value": "DATETIME(\"2021-01-01 00:30:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 minute)", + "Value": "DATETIME(\"2020-12-31 23:28:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 minute)", + "Value": "DATETIME(\"2021-01-01 00:29:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 minute)", + "Value": "DATETIME(\"2020-12-31 23:29:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' minute)", + "Value": "DATETIME(\"2021-01-01 00:05:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' minute)", + "Value": "DATETIME(\"2020-12-31 23:53:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "DATETIME(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "DATETIME(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' minute)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' minute)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' minute_second)", + "Value": "DATETIME(\"2021-01-12 13:47:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' minute_second)", + "Value": "DATETIME(\"2020-12-20 10:12:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 minute_second)", + "Value": "DATETIME(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 minute_second)", + "Value": "DATETIME(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 minute_second)", + "Value": "DATETIME(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 minute_second)", + "Value": "DATETIME(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:06:03\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:53:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "DATETIME(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "DATETIME(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "DATETIME(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 minute_second)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 minute_second)", + "Value": "DATETIME(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_second)", + "Value": "DATETIME(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_second)", + "Value": "DATETIME(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 quarter)", + "Value": "DATETIME(\"2028-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 quarter)", + "Value": "DATETIME(\"2013-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 quarter)", + "Value": "DATETIME(\"2028-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 quarter)", + "Value": "DATETIME(\"2013-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' quarter)", + "Value": "DATETIME(\"2022-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' quarter)", + "Value": "DATETIME(\"2019-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "DATETIME(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "DATETIME(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' quarter)", + "Value": "DATETIME(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' quarter)", + "Value": "DATETIME(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 second)", + "Value": "DATETIME(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 second)", + "Value": "DATETIME(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 second)", + "Value": "DATETIME(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 second)", + "Value": "DATETIME(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 second)", + "Value": "DATETIME(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.5\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.5\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.5000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.5000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.5000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.5000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' second)", + "Value": "DATETIME(\"2021-01-01 00:00:05.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' second)", + "Value": "DATETIME(\"2020-12-31 23:59:53.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.5\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "DATETIME(\"2020-12-31 23:59:57.5\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "DATETIME(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "DATETIME(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' second)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' second)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' second_microsecond)", + "Value": "DATETIME(\"2021-01-01 00:00:00.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' second_microsecond)", + "Value": "DATETIME(\"2020-12-31 23:59:58.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 year_month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 year_month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' year_month)", + "Value": "DATETIME(\"2022-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1' year_month)", + "Value": "DATETIME(\"2019-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' year_month)", + "Value": "DATETIME(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1 10' year_month)", + "Value": "DATETIME(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' year_month)", + "Value": "DATETIME(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1 10' year_month)", + "Value": "DATETIME(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 year_month)", + "Value": "DATETIME(\"2023-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 31 year_month)", + "Value": "DATETIME(\"2018-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 year_month)", + "Value": "DATETIME(\"2023-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 30 year_month)", + "Value": "DATETIME(\"2018-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 year_month)", + "Value": "DATETIME(\"2105-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.999 year_month)", + "Value": "DATETIME(\"1936-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' year_month)", + "Value": "DATETIME(\"2105-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.999' year_month)", + "Value": "DATETIME(\"1936-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' year_month)", + "Value": "DATETIME(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '-1:10' year_month)", + "Value": "DATETIME(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' year_month)", + "Value": "DATETIME(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1:10' year_month)", + "Value": "DATETIME(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 year_month)", + "Value": "DATETIME(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5 year_month)", + "Value": "DATETIME(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 year_month)", + "Value": "DATETIME(\"2438-08-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000 year_month)", + "Value": "DATETIME(\"1603-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 year_month)", + "Value": "DATETIME(\"2438-08-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 6/4 year_month)", + "Value": "DATETIME(\"1603-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' year_month)", + "Value": "DATETIME(\"2027-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '6/4' year_month)", + "Value": "DATETIME(\"2014-08-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 year_month)", + "Value": "DATETIME(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5e0 year_month)", + "Value": "DATETIME(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 year_month)", + "Value": "DATETIME(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1.5000e0 year_month)", + "Value": "DATETIME(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "DATETIME(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "DATETIME(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "DATETIME(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "DATETIME(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 year_month)", + "Value": "DATETIME(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1e0 year_month)", + "Value": "DATETIME(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' year_month)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0' year_month)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' year_month)", + "Value": "DATETIME(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2020-12-31 23:59:59', INTERVAL '1.0foobar' year_month)", + "Value": "DATETIME(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day)", + "Value": "DATETIME(\"2025-01-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day)", + "Value": "DATETIME(\"2024-12-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day)", + "Value": "DATETIME(\"2025-01-07 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day)", + "Value": "DATETIME(\"2024-12-26 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "DATETIME(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "DATETIME(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 week)", + "Value": "DATETIME(\"2025-08-06 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 week)", + "Value": "DATETIME(\"2024-05-29 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 week)", + "Value": "DATETIME(\"2025-07-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 week)", + "Value": "DATETIME(\"2024-06-05 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' week)", + "Value": "DATETIME(\"2025-02-12 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' week)", + "Value": "DATETIME(\"2024-11-20 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "DATETIME(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "DATETIME(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' week)", + "Value": "DATETIME(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' week)", + "Value": "DATETIME(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 month)", + "Value": "DATETIME(\"2027-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 month)", + "Value": "DATETIME(\"2022-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 month)", + "Value": "DATETIME(\"2027-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 month)", + "Value": "DATETIME(\"2022-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' month)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' month)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 year)", + "Value": "DATETIME(\"2056-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 year)", + "Value": "DATETIME(\"1994-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 year)", + "Value": "DATETIME(\"2055-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 year)", + "Value": "DATETIME(\"1995-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' year)", + "Value": "DATETIME(\"2031-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' year)", + "Value": "DATETIME(\"2019-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "DATETIME(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "DATETIME(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' year)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' year)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_hour)", + "Value": "DATETIME(\"2025-01-02 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_hour)", + "Value": "DATETIME(\"2024-12-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_hour)", + "Value": "DATETIME(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_hour)", + "Value": "DATETIME(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_hour)", + "Value": "DATETIME(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_hour)", + "Value": "DATETIME(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_hour)", + "Value": "DATETIME(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_hour)", + "Value": "DATETIME(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_hour)", + "Value": "DATETIME(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_hour)", + "Value": "DATETIME(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_hour)", + "Value": "DATETIME(\"2139-01-31 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_hour)", + "Value": "DATETIME(\"1910-12-03 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_hour)", + "Value": "DATETIME(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_hour)", + "Value": "DATETIME(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_hour)", + "Value": "DATETIME(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_hour)", + "Value": "DATETIME(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_hour)", + "Value": "DATETIME(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_hour)", + "Value": "DATETIME(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_hour)", + "Value": "DATETIME(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_hour)", + "Value": "DATETIME(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_hour)", + "Value": "DATETIME(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_hour)", + "Value": "DATETIME(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_hour)", + "Value": "DATETIME(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_hour)", + "Value": "DATETIME(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_hour)", + "Value": "DATETIME(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_hour)", + "Value": "DATETIME(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_hour)", + "Value": "DATETIME(\"2025-01-07 04:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_hour)", + "Value": "DATETIME(\"2024-12-25 20:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_hour)", + "Value": "DATETIME(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_hour)", + "Value": "DATETIME(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_hour)", + "Value": "DATETIME(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_hour)", + "Value": "DATETIME(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "DATETIME(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "DATETIME(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_hour)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_hour)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_hour)", + "Value": "DATETIME(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_hour)", + "Value": "DATETIME(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_minute)", + "Value": "DATETIME(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_minute)", + "Value": "DATETIME(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_minute)", + "Value": "DATETIME(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_minute)", + "Value": "DATETIME(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_minute)", + "Value": "DATETIME(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_minute)", + "Value": "DATETIME(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_minute)", + "Value": "DATETIME(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_minute)", + "Value": "DATETIME(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_minute)", + "Value": "DATETIME(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_minute)", + "Value": "DATETIME(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_minute)", + "Value": "DATETIME(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_minute)", + "Value": "DATETIME(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_minute)", + "Value": "DATETIME(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_minute)", + "Value": "DATETIME(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_minute)", + "Value": "DATETIME(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_minute)", + "Value": "DATETIME(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_minute)", + "Value": "DATETIME(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_minute)", + "Value": "DATETIME(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_minute)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_minute)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_minute)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_minute)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_second)", + "Value": "DATETIME(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 day_second)", + "Value": "DATETIME(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_second)", + "Value": "DATETIME(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_second)", + "Value": "DATETIME(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_second)", + "Value": "DATETIME(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 day_second)", + "Value": "DATETIME(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_second)", + "Value": "DATETIME(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 day_second)", + "Value": "DATETIME(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_second)", + "Value": "DATETIME(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' day_second)", + "Value": "DATETIME(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_second)", + "Value": "DATETIME(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 day_second)", + "Value": "DATETIME(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_second)", + "Value": "DATETIME(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' day_second)", + "Value": "DATETIME(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_second)", + "Value": "DATETIME(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_second)", + "Value": "DATETIME(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_second)", + "Value": "DATETIME(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_second)", + "Value": "DATETIME(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_second)", + "Value": "DATETIME(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 day_second)", + "Value": "DATETIME(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_second)", + "Value": "DATETIME(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 day_second)", + "Value": "DATETIME(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_second)", + "Value": "DATETIME(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' day_second)", + "Value": "DATETIME(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "DATETIME(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "DATETIME(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_second)", + "Value": "DATETIME(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 day_second)", + "Value": "DATETIME(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' day_second)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_second)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' day_second)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour)", + "Value": "DATETIME(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour)", + "Value": "DATETIME(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour)", + "Value": "DATETIME(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour)", + "Value": "DATETIME(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour)", + "Value": "DATETIME(\"2025-01-01 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour)", + "Value": "DATETIME(\"2024-12-31 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "DATETIME(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "DATETIME(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour_minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour_minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour_minute)", + "Value": "DATETIME(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour_minute)", + "Value": "DATETIME(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour_minute)", + "Value": "DATETIME(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour_minute)", + "Value": "DATETIME(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour_minute)", + "Value": "DATETIME(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour_minute)", + "Value": "DATETIME(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour_minute)", + "Value": "DATETIME(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour_minute)", + "Value": "DATETIME(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour_minute)", + "Value": "DATETIME(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour_minute)", + "Value": "DATETIME(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour_minute)", + "Value": "DATETIME(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour_minute)", + "Value": "DATETIME(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour_minute)", + "Value": "DATETIME(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour_minute)", + "Value": "DATETIME(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour_minute)", + "Value": "DATETIME(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour_minute)", + "Value": "DATETIME(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "DATETIME(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour_minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour_minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour_minute)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_minute)", + "Value": "DATETIME(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_minute)", + "Value": "DATETIME(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour_second)", + "Value": "DATETIME(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' hour_second)", + "Value": "DATETIME(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour_second)", + "Value": "DATETIME(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 hour_second)", + "Value": "DATETIME(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour_second)", + "Value": "DATETIME(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 hour_second)", + "Value": "DATETIME(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "DATETIME(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "DATETIME(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour_second)", + "Value": "DATETIME(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 hour_second)", + "Value": "DATETIME(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_second)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_second)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000031\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999969\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000030\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999970\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000006\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999994\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 minute)", + "Value": "DATETIME(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 minute)", + "Value": "DATETIME(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 minute)", + "Value": "DATETIME(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 minute)", + "Value": "DATETIME(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' minute)", + "Value": "DATETIME(\"2025-01-01 00:06:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' minute)", + "Value": "DATETIME(\"2024-12-31 23:54:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "DATETIME(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "DATETIME(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' minute)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' minute)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' minute_second)", + "Value": "DATETIME(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' minute_second)", + "Value": "DATETIME(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 minute_second)", + "Value": "DATETIME(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 minute_second)", + "Value": "DATETIME(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 minute_second)", + "Value": "DATETIME(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 minute_second)", + "Value": "DATETIME(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "DATETIME(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "DATETIME(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "DATETIME(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 minute_second)", + "Value": "DATETIME(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 minute_second)", + "Value": "DATETIME(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_second)", + "Value": "DATETIME(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_second)", + "Value": "DATETIME(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 quarter)", + "Value": "DATETIME(\"2032-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 quarter)", + "Value": "DATETIME(\"2017-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 quarter)", + "Value": "DATETIME(\"2032-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 quarter)", + "Value": "DATETIME(\"2017-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' quarter)", + "Value": "DATETIME(\"2026-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' quarter)", + "Value": "DATETIME(\"2023-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "DATETIME(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "DATETIME(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' quarter)", + "Value": "DATETIME(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' quarter)", + "Value": "DATETIME(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 second)", + "Value": "DATETIME(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 second)", + "Value": "DATETIME(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 second)", + "Value": "DATETIME(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 second)", + "Value": "DATETIME(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 second)", + "Value": "DATETIME(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.5\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.5\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.5000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.5000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.5000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.5000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' second)", + "Value": "DATETIME(\"2025-01-01 00:00:06.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' second)", + "Value": "DATETIME(\"2024-12-31 23:59:54.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.5\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "DATETIME(\"2024-12-31 23:59:58.5\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "DATETIME(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "DATETIME(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' second)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' second)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' second_microsecond)", + "Value": "DATETIME(\"2025-01-01 00:00:01.000000\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' second_microsecond)", + "Value": "DATETIME(\"2024-12-31 23:59:59.000000\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 year_month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1 year_month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' year_month)", + "Value": "DATETIME(\"2026-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1' year_month)", + "Value": "DATETIME(\"2023-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' year_month)", + "Value": "DATETIME(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1 10' year_month)", + "Value": "DATETIME(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' year_month)", + "Value": "DATETIME(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 10' year_month)", + "Value": "DATETIME(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 year_month)", + "Value": "DATETIME(\"2027-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 31 year_month)", + "Value": "DATETIME(\"2022-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 year_month)", + "Value": "DATETIME(\"2027-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 30 year_month)", + "Value": "DATETIME(\"2022-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 year_month)", + "Value": "DATETIME(\"2109-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.999 year_month)", + "Value": "DATETIME(\"1940-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' year_month)", + "Value": "DATETIME(\"2109-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999' year_month)", + "Value": "DATETIME(\"1940-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' year_month)", + "Value": "DATETIME(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '-1:10' year_month)", + "Value": "DATETIME(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' year_month)", + "Value": "DATETIME(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1:10' year_month)", + "Value": "DATETIME(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 year_month)", + "Value": "DATETIME(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5 year_month)", + "Value": "DATETIME(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 year_month)", + "Value": "DATETIME(\"2442-09-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000 year_month)", + "Value": "DATETIME(\"1607-05-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 year_month)", + "Value": "DATETIME(\"2442-09-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 6/4 year_month)", + "Value": "DATETIME(\"1607-05-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' year_month)", + "Value": "DATETIME(\"2031-05-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '6/4' year_month)", + "Value": "DATETIME(\"2018-09-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 year_month)", + "Value": "DATETIME(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5e0 year_month)", + "Value": "DATETIME(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 year_month)", + "Value": "DATETIME(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1.5000e0 year_month)", + "Value": "DATETIME(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "DATETIME(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "DATETIME(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "DATETIME(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "DATETIME(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 year_month)", + "Value": "DATETIME(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL 1e0 year_month)", + "Value": "DATETIME(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' year_month)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0' year_month)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' year_month)", + "Value": "DATETIME(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.0foobar' year_month)", + "Value": "DATETIME(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 day)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 day)", + "Value": "CHAR(\"2018-03-31\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 day)", + "Value": "CHAR(\"2018-05-31\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 day)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' day)", + "Value": "CHAR(\"2018-05-07\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' day)", + "Value": "CHAR(\"2018-04-25\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2018-05-03\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2018-04-29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2018-05-02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2018-04-30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 week)", + "Value": "CHAR(\"2018-12-04\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 week)", + "Value": "CHAR(\"2017-09-26\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 week)", + "Value": "CHAR(\"2018-11-27\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 week)", + "Value": "CHAR(\"2017-10-03\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' week)", + "Value": "CHAR(\"2018-06-12\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' week)", + "Value": "CHAR(\"2018-03-20\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2018-05-15\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2018-04-17\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2018-05-08\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2018-04-24\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 month)", + "Value": "CHAR(\"2020-12-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 month)", + "Value": "CHAR(\"2015-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 month)", + "Value": "CHAR(\"2020-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 month)", + "Value": "CHAR(\"2015-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' month)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' month)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 year)", + "Value": "CHAR(\"2049-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 year)", + "Value": "CHAR(\"1987-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 year)", + "Value": "CHAR(\"2048-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 year)", + "Value": "CHAR(\"1988-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' year)", + "Value": "CHAR(\"2024-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' year)", + "Value": "CHAR(\"2012-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2020-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2016-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2018-05-02 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2018-04-29 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2018-05-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2018-04-29 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2018-05-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2018-04-29 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"2132-05-30 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"1904-04-01 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2018-06-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2018-03-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2018-06-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2018-03-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2018-05-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2018-04-29 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2018-11-26 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2017-10-03 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2018-11-26 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2017-10-03 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2018-05-07 04:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2018-04-24 20:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2018-05-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2018-04-29 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2018-05-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2018-04-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2018-05-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2018-04-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2018-05-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2018-04-30 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2018-05-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2018-04-30 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2018-05-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2018-04-30 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2020-03-25 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2016-06-05 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2018-05-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2018-04-30 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 day_second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 day_second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2018-05-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2018-04-30 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2018-05-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2018-04-29 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 day_second)", + "Value": "CHAR(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 day_second)", + "Value": "CHAR(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 day_second)", + "Value": "CHAR(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 day_second)", + "Value": "CHAR(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2018-05-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2018-04-19 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2018-05-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2018-04-29 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2018-05-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2018-04-29 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2018-05-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2018-04-30 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 hour)", + "Value": "CHAR(\"2018-05-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 hour)", + "Value": "CHAR(\"2018-04-29 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 hour)", + "Value": "CHAR(\"2018-05-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 hour)", + "Value": "CHAR(\"2018-04-29 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2018-05-01 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2018-04-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2018-05-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2018-04-30 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2018-05-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2018-04-30 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2018-05-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2018-04-30 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2018-05-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2018-04-30 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2020-03-25 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2016-06-05 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2018-05-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2018-04-30 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2018-05-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2018-04-30 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2018-05-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2018-04-27 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2018-05-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2018-04-30 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2018-05-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2018-04-30 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2018-05-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2018-04-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2018-05-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2018-04-19 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2018-05-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2018-04-30 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000031\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999969\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000030\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999970\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000006\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999994\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 minute)", + "Value": "CHAR(\"2018-05-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 minute)", + "Value": "CHAR(\"2018-04-30 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 minute)", + "Value": "CHAR(\"2018-05-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 minute)", + "Value": "CHAR(\"2018-04-30 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2018-05-01 00:06:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2018-04-30 23:54:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2018-05-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2018-04-30 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2018-05-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2018-04-19 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2018-05-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2018-04-30 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2018-05-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2018-04-30 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2018-05-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2018-04-30 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2018-04-30 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2018-05-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2018-04-30 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 quarter)", + "Value": "CHAR(\"2026-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 quarter)", + "Value": "CHAR(\"2010-08-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 quarter)", + "Value": "CHAR(\"2025-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 quarter)", + "Value": "CHAR(\"2010-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2019-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2016-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2018-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2017-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2018-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2018-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 second)", + "Value": "CHAR(\"2018-05-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 second)", + "Value": "CHAR(\"2018-04-30 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 second)", + "Value": "CHAR(\"2018-05-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 second)", + "Value": "CHAR(\"2018-04-30 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 second)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 second)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' second)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' second)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 second)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 second)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 second)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 second)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' second)", + "Value": "CHAR(\"2018-05-01 00:00:06\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' second)", + "Value": "CHAR(\"2018-04-30 23:59:54\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2018-05-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2018-04-30 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2018-05-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2018-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1 year_month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1 year_month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2019-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2017-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 31 year_month)", + "Value": "CHAR(\"2020-12-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 31 year_month)", + "Value": "CHAR(\"2015-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 30 year_month)", + "Value": "CHAR(\"2020-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 30 year_month)", + "Value": "CHAR(\"2015-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"2102-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"1934-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"2102-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"1934-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2020-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2016-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"2436-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"1600-09-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"2436-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"1600-09-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2024-09-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2012-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2019-10-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2016-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2018-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2018-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2018-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2018-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2018-05-01', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2019-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('2018-05-01', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2017-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 day)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 day)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 day)", + "Value": "CHAR(\"2021-01-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 day)", + "Value": "CHAR(\"2020-12-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' day)", + "Value": "CHAR(\"2021-01-06 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' day)", + "Value": "CHAR(\"2020-12-25 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2021-01-02 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2020-12-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 week)", + "Value": "CHAR(\"2021-08-05 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 week)", + "Value": "CHAR(\"2020-05-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 week)", + "Value": "CHAR(\"2021-07-29 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 week)", + "Value": "CHAR(\"2020-06-04 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' week)", + "Value": "CHAR(\"2021-02-11 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' week)", + "Value": "CHAR(\"2020-11-19 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2021-01-14 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2020-12-17 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2021-01-07 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2020-12-24 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 month)", + "Value": "CHAR(\"2023-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 month)", + "Value": "CHAR(\"2018-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 month)", + "Value": "CHAR(\"2023-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 month)", + "Value": "CHAR(\"2018-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' month)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' month)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 year)", + "Value": "CHAR(\"2051-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 year)", + "Value": "CHAR(\"1989-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 year)", + "Value": "CHAR(\"2050-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 year)", + "Value": "CHAR(\"1990-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' year)", + "Value": "CHAR(\"2026-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' year)", + "Value": "CHAR(\"2014-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2022-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2018-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2021-01-02 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2020-12-30 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2021-01-02 06:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2020-12-30 16:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2021-01-02 05:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2020-12-30 17:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"2135-01-31 14:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"1906-12-03 08:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2021-02-12 14:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2020-11-19 08:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2021-02-12 14:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2020-11-19 08:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2021-01-02 09:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2020-12-30 13:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2021-07-29 07:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2020-06-05 15:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2021-07-29 07:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2020-06-05 15:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2021-01-07 03:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2020-12-25 19:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2021-01-02 04:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2020-12-30 18:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2021-01-01 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2020-12-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2021-01-01 01:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2020-12-31 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2021-01-01 00:30:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2020-12-31 23:28:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2021-01-01 00:29:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2020-12-31 23:29:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2022-11-26 11:38:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2019-02-06 12:20:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2021-01-01 06:03:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2020-12-31 17:55:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 day_second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 day_second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2021-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2020-12-31 23:58:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2021-01-02 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2020-12-30 22:58:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 day_second)", + "Value": "CHAR(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 day_second)", + "Value": "CHAR(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 day_second)", + "Value": "CHAR(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 day_second)", + "Value": "CHAR(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2021-01-12 13:47:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2020-12-20 10:12:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2021-01-02 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2020-12-30 22:58:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2021-01-02 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2020-12-30 22:58:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2021-01-01 00:06:03\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2020-12-31 23:53:55\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 hour)", + "Value": "CHAR(\"2021-01-02 06:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 hour)", + "Value": "CHAR(\"2020-12-30 16:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 hour)", + "Value": "CHAR(\"2021-01-02 05:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 hour)", + "Value": "CHAR(\"2020-12-30 17:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2021-01-01 05:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2020-12-31 17:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2021-01-01 01:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2020-12-31 21:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 01:01:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 22:58:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2021-01-01 01:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2020-12-31 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2021-01-01 00:30:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2020-12-31 23:28:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2021-01-01 00:29:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2020-12-31 23:29:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2022-11-26 11:38:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2019-02-06 12:20:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2021-01-01 17:38:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2020-12-31 06:20:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2021-01-01 01:09:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2020-12-31 22:49:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2021-01-04 12:19:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2020-12-28 11:39:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2021-01-01 06:03:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2020-12-31 17:55:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2021-01-01 01:04:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2020-12-31 22:54:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2021-01-01 00:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2020-12-31 22:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2021-01-12 13:47:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2020-12-20 10:12:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2021-01-01 00:06:03\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2020-12-31 23:53:55\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000031\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999969\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000030\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999970\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000006\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999994\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 minute)", + "Value": "CHAR(\"2021-01-01 00:30:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 minute)", + "Value": "CHAR(\"2020-12-31 23:28:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 minute)", + "Value": "CHAR(\"2021-01-01 00:29:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 minute)", + "Value": "CHAR(\"2020-12-31 23:29:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2021-01-01 00:05:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2020-12-31 23:53:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2021-01-01 00:01:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2020-12-31 23:57:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2021-01-12 13:47:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2020-12-20 10:12:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2021-01-01 00:17:38\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2020-12-31 23:42:20\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:09\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:49\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2021-01-01 01:24:19\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2020-12-31 22:35:39\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2021-01-01 00:06:03\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2020-12-31 23:53:55\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2021-01-01 00:01:04\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:54\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2021-01-01 00:00:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2020-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 quarter)", + "Value": "CHAR(\"2028-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 quarter)", + "Value": "CHAR(\"2013-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 quarter)", + "Value": "CHAR(\"2028-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 quarter)", + "Value": "CHAR(\"2013-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2022-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2019-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2021-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2020-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2021-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2020-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 second)", + "Value": "CHAR(\"2021-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 second)", + "Value": "CHAR(\"2020-12-31 23:59:28\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 second)", + "Value": "CHAR(\"2021-01-01 00:00:29\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 second)", + "Value": "CHAR(\"2020-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 second)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 second)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' second)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' second)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 second)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 second)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 second)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 second)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' second)", + "Value": "CHAR(\"2021-01-01 00:00:05\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' second)", + "Value": "CHAR(\"2020-12-31 23:59:53\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2021-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2020-12-31 23:59:57\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:05.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:52.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:57.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:59.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2021-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2020-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 year_month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1 year_month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2022-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2019-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 31 year_month)", + "Value": "CHAR(\"2023-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 31 year_month)", + "Value": "CHAR(\"2018-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 30 year_month)", + "Value": "CHAR(\"2023-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 30 year_month)", + "Value": "CHAR(\"2018-06-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"2105-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"1936-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"2105-03-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"1936-09-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2022-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2019-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"2438-08-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"1603-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"2438-08-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"1603-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2027-04-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2014-08-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2022-05-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2019-07-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2021-02-28 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2020-10-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2021-01-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2020-11-30 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2021-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2020-12-31 23:59:59', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2019-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 day)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 day)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 day)", + "Value": "CHAR(\"2025-01-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 day)", + "Value": "CHAR(\"2024-12-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' day)", + "Value": "CHAR(\"2025-01-07 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' day)", + "Value": "CHAR(\"2024-12-26 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2025-01-03 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2024-12-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 week)", + "Value": "CHAR(\"2025-08-06 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 week)", + "Value": "CHAR(\"2024-05-29 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 week)", + "Value": "CHAR(\"2025-07-30 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 week)", + "Value": "CHAR(\"2024-06-05 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' week)", + "Value": "CHAR(\"2025-02-12 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' week)", + "Value": "CHAR(\"2024-11-20 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2025-01-15 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2024-12-18 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2025-01-08 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2024-12-25 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 month)", + "Value": "CHAR(\"2027-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 month)", + "Value": "CHAR(\"2022-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 month)", + "Value": "CHAR(\"2027-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 month)", + "Value": "CHAR(\"2022-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' month)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' month)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 year)", + "Value": "CHAR(\"2056-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 year)", + "Value": "CHAR(\"1994-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 year)", + "Value": "CHAR(\"2055-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 year)", + "Value": "CHAR(\"1995-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' year)", + "Value": "CHAR(\"2031-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' year)", + "Value": "CHAR(\"2019-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2027-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2023-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2025-01-02 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2024-12-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"2139-01-31 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"1910-12-03 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2025-01-07 04:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2024-12-25 20:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 hour)", + "Value": "CHAR(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 hour)", + "Value": "CHAR(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 hour)", + "Value": "CHAR(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 hour)", + "Value": "CHAR(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2025-01-01 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2024-12-31 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000031\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999969\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000030\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999970\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000006\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999994\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2025-01-01 00:06:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2024-12-31 23:54:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 quarter)", + "Value": "CHAR(\"2032-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 quarter)", + "Value": "CHAR(\"2017-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 quarter)", + "Value": "CHAR(\"2032-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 quarter)", + "Value": "CHAR(\"2017-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2026-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2023-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2025-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2024-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2025-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2024-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' second)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' second)", + "Value": "CHAR(\"2025-01-01 00:00:06\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' second)", + "Value": "CHAR(\"2024-12-31 23:59:54\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1 year_month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1 year_month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2026-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2023-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 31 year_month)", + "Value": "CHAR(\"2027-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 31 year_month)", + "Value": "CHAR(\"2022-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 30 year_month)", + "Value": "CHAR(\"2027-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 30 year_month)", + "Value": "CHAR(\"2022-07-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"2109-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"1940-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"2109-04-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"1940-10-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2026-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2023-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"2442-09-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"1607-05-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"2442-09-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"1607-05-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2031-05-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2018-09-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2026-06-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2023-08-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2025-03-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2024-11-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2025-02-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2024-12-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('2025-01-01 00:00:00', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2026-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('2025-01-01 00:00:00', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2024-01-01 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 day)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 day)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 day)", + "Value": "CHAR(\"2025-01-31\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 day)", + "Value": "CHAR(\"2024-12-02\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' day)", + "Value": "CHAR(\"2025-01-07\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' day)", + "Value": "CHAR(\"2024-12-26\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 week)", + "Value": "CHAR(\"2025-08-06\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 week)", + "Value": "CHAR(\"2024-05-29\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 week)", + "Value": "CHAR(\"2025-07-30\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 week)", + "Value": "CHAR(\"2024-06-05\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' week)", + "Value": "CHAR(\"2025-02-12\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' week)", + "Value": "CHAR(\"2024-11-20\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 month)", + "Value": "CHAR(\"2027-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 month)", + "Value": "CHAR(\"2022-06-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 month)", + "Value": "CHAR(\"2027-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 month)", + "Value": "CHAR(\"2022-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' month)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' month)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 year)", + "Value": "CHAR(\"2056-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 year)", + "Value": "CHAR(\"1994-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 year)", + "Value": "CHAR(\"2055-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 year)", + "Value": "CHAR(\"1995-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' year)", + "Value": "CHAR(\"2031-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' year)", + "Value": "CHAR(\"2019-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 day_hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 day_hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2025-01-02 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2024-12-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 day_hour)", + "Value": "CHAR(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 day_hour)", + "Value": "CHAR(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 day_hour)", + "Value": "CHAR(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 day_hour)", + "Value": "CHAR(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"2139-01-31 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"1910-12-03 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2025-01-07 04:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2024-12-25 20:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 day_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 day_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 day_minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 day_minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 day_minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 day_minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 hour)", + "Value": "CHAR(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 hour)", + "Value": "CHAR(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 hour)", + "Value": "CHAR(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 hour)", + "Value": "CHAR(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' hour)", + "Value": "CHAR(\"2025-01-01 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' hour)", + "Value": "CHAR(\"2024-12-31 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000031\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999969\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000030\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999970\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000006\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999994\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' minute)", + "Value": "CHAR(\"2025-01-01 00:06:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' minute)", + "Value": "CHAR(\"2024-12-31 23:54:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 quarter)", + "Value": "CHAR(\"2032-10-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 quarter)", + "Value": "CHAR(\"2017-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 quarter)", + "Value": "CHAR(\"2032-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 quarter)", + "Value": "CHAR(\"2017-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2026-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2023-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' second)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' second)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' second)", + "Value": "CHAR(\"2025-01-01 00:00:06\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' second)", + "Value": "CHAR(\"2024-12-31 23:59:54\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1 year_month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1 year_month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2026-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2023-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 31 year_month)", + "Value": "CHAR(\"2027-08-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 31 year_month)", + "Value": "CHAR(\"2022-06-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 30 year_month)", + "Value": "CHAR(\"2027-07-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 30 year_month)", + "Value": "CHAR(\"2022-07-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.999 year_month)", + "Value": "CHAR(\"2109-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.999 year_month)", + "Value": "CHAR(\"1940-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.999' year_month)", + "Value": "CHAR(\"2109-04-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.999' year_month)", + "Value": "CHAR(\"1940-10-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"2442-09-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"1607-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 6/4 year_month)", + "Value": "CHAR(\"2442-09-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 6/4 year_month)", + "Value": "CHAR(\"1607-05-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2031-05-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2018-09-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD(20250101, INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB(20250101, INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' day)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' week)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' year)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' day_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' day_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' quarter)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1 10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1 10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1 10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1 10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 31 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 31 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 30 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 30 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.999 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.999 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '-1:10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '-1:10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1:10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1:10' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 6/4 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 6/4 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '6/4' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '6/4' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5e0 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5e0 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1.5000e0 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1.5000e0 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL 1e0 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL 1e0 year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('pokemon trainers', INTERVAL '1.0foobar' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('pokemon trainers', INTERVAL '1.0foobar' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 day)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 day)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 day)", + "Value": "CHAR(\"2025-01-31\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 day)", + "Value": "CHAR(\"2024-12-02\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' day)", + "Value": "CHAR(\"2025-01-07\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' day)", + "Value": "CHAR(\"2024-12-26\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2025-01-03\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day)", + "Value": "CHAR(\"2024-12-30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2025-01-02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' day)", + "Value": "CHAR(\"2024-12-31\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 week)", + "Value": "CHAR(\"2025-08-06\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 week)", + "Value": "CHAR(\"2024-05-29\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 week)", + "Value": "CHAR(\"2025-07-30\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 week)", + "Value": "CHAR(\"2024-06-05\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' week)", + "Value": "CHAR(\"2025-02-12\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' week)", + "Value": "CHAR(\"2024-11-20\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2025-01-15\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) week)", + "Value": "CHAR(\"2024-12-18\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2025-01-08\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' week)", + "Value": "CHAR(\"2024-12-25\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 month)", + "Value": "CHAR(\"2027-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 month)", + "Value": "CHAR(\"2022-06-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 month)", + "Value": "CHAR(\"2027-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 month)", + "Value": "CHAR(\"2022-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' month)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' month)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 year)", + "Value": "CHAR(\"2056-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 year)", + "Value": "CHAR(\"1994-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 year)", + "Value": "CHAR(\"2055-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 year)", + "Value": "CHAR(\"1995-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' year)", + "Value": "CHAR(\"2031-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' year)", + "Value": "CHAR(\"2019-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2027-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year)", + "Value": "CHAR(\"2023-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' year)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 day_hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2025-01-02 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' day_hour)", + "Value": "CHAR(\"2024-12-30 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 day_hour)", + "Value": "CHAR(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 day_hour)", + "Value": "CHAR(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"2139-01-31 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' day_hour)", + "Value": "CHAR(\"1910-12-03 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 day_hour)", + "Value": "CHAR(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2025-02-12 15:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' day_hour)", + "Value": "CHAR(\"2024-11-19 09:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' day_hour)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2025-01-02 10:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' day_hour)", + "Value": "CHAR(\"2024-12-30 14:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 day_hour)", + "Value": "CHAR(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2025-07-29 08:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 day_hour)", + "Value": "CHAR(\"2024-06-05 16:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2025-01-07 04:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' day_hour)", + "Value": "CHAR(\"2024-12-25 20:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2025-01-02 05:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_hour)", + "Value": "CHAR(\"2024-12-30 19:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 day_hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' day_hour)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2025-01-02 00:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' day_hour)", + "Value": "CHAR(\"2024-12-31 00:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' day_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' day_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 day_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' day_minute)", + "Value": "CHAR(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 day_minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 day_minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' day_minute)", + "Value": "CHAR(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 day_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' day_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' day_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' day_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 day_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 day_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' day_minute)", + "Value": "CHAR(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 day_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' day_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' day_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' day_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 day_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' day_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2025-01-02 01:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' day_second)", + "Value": "CHAR(\"2024-12-30 22:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' day_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 day_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 day_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' day_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) day_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) day_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 day_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' day_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' day_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 hour)", + "Value": "CHAR(\"2025-01-02 07:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 hour)", + "Value": "CHAR(\"2024-12-30 17:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 hour)", + "Value": "CHAR(\"2025-01-02 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 hour)", + "Value": "CHAR(\"2024-12-30 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2025-01-01 06:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' hour)", + "Value": "CHAR(\"2024-12-31 18:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2025-01-01 02:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour)", + "Value": "CHAR(\"2024-12-31 22:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' hour)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 01:01:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 22:58:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' hour_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2026-11-26 11:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' hour_minute)", + "Value": "CHAR(\"2023-02-06 12:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 hour_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2025-01-01 17:39:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' hour_minute)", + "Value": "CHAR(\"2024-12-31 06:21:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' hour_minute)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:10:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' hour_minute)", + "Value": "CHAR(\"2024-12-31 22:50:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 hour_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2025-01-04 12:20:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 hour_minute)", + "Value": "CHAR(\"2024-12-28 11:40:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2025-01-01 06:04:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' hour_minute)", + "Value": "CHAR(\"2024-12-31 17:56:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2025-01-01 01:05:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_minute)", + "Value": "CHAR(\"2024-12-31 22:55:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 hour_minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' hour_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2025-01-01 01:00:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' hour_minute)", + "Value": "CHAR(\"2024-12-31 23:00:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' hour_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 hour_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' hour_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' hour_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 hour_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 hour_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' hour_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) hour_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' hour_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000031\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999969\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000030\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999970\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000006\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999994\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000002\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999998\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.000001\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.999999\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 minute)", + "Value": "CHAR(\"2025-01-01 00:31:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 minute)", + "Value": "CHAR(\"2024-12-31 23:29:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 minute)", + "Value": "CHAR(\"2025-01-01 00:30:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 minute)", + "Value": "CHAR(\"2024-12-31 23:30:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2025-01-01 00:06:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' minute)", + "Value": "CHAR(\"2024-12-31 23:54:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2025-01-01 00:02:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute)", + "Value": "CHAR(\"2024-12-31 23:58:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' minute)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' minute_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' minute_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2025-01-12 13:47:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' minute_second)", + "Value": "CHAR(\"2024-12-20 10:12:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 minute_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2025-01-01 00:17:39\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' minute_second)", + "Value": "CHAR(\"2024-12-31 23:42:21\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' minute_second)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:10\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:50\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 minute_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2025-01-01 01:24:20\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 minute_second)", + "Value": "CHAR(\"2024-12-31 22:35:40\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2025-01-01 00:06:04\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' minute_second)", + "Value": "CHAR(\"2024-12-31 23:53:56\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:05\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) minute_second)", + "Value": "CHAR(\"2024-12-31 23:58:55\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2025-01-01 00:01:00\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' minute_second)", + "Value": "CHAR(\"2024-12-31 23:59:00\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 quarter)", + "Value": "CHAR(\"2032-10-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 quarter)", + "Value": "CHAR(\"2017-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 quarter)", + "Value": "CHAR(\"2032-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 quarter)", + "Value": "CHAR(\"2017-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2026-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' quarter)", + "Value": "CHAR(\"2023-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2025-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) quarter)", + "Value": "CHAR(\"2024-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2025-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' quarter)", + "Value": "CHAR(\"2024-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 second)", + "Value": "CHAR(\"2025-01-01 00:00:31\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 second)", + "Value": "CHAR(\"2024-12-31 23:59:29\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 second)", + "Value": "CHAR(\"2025-01-01 00:00:30\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 second)", + "Value": "CHAR(\"2024-12-31 23:59:30\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' second)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' second)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' second)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' second)", + "Value": "CHAR(\"2025-01-01 00:00:06\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' second)", + "Value": "CHAR(\"2024-12-31 23:59:54\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2025-01-01 00:00:02\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second)", + "Value": "CHAR(\"2024-12-31 23:59:58\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' second)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.310000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.690000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.300000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.700000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999999\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.000001\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.999000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.001000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' second_microsecond)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:06.400000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:53.600000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01.500000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:58.500000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.200000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.800000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:00.100000\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59.900000\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2025-01-01 00:00:01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' second_microsecond)", + "Value": "CHAR(\"2024-12-31 23:59:59\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1 year_month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1 year_month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2026-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1' year_month)", + "Value": "CHAR(\"2023-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1 10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1 10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 31 year_month)", + "Value": "CHAR(\"2027-08-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 31 year_month)", + "Value": "CHAR(\"2022-06-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 30 year_month)", + "Value": "CHAR(\"2027-07-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 30 year_month)", + "Value": "CHAR(\"2022-07-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999999' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"2109-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.999 year_month)", + "Value": "CHAR(\"1940-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"2109-04-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.999' year_month)", + "Value": "CHAR(\"1940-10-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1:1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:1 1:1' year_month)", + "Value": "NULL" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '-1:10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2026-11-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1:10' year_month)", + "Value": "CHAR(\"2023-03-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5 year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"2442-09-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000 year_month)", + "Value": "CHAR(\"1607-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"2442-09-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 6/4 year_month)", + "Value": "CHAR(\"1607-05-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2031-05-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '6/4' year_month)", + "Value": "CHAR(\"2018-09-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5e0 year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1.5000e0 year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2026-06-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,1)) year_month)", + "Value": "CHAR(\"2023-08-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2025-03-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL CAST(6/4 AS DECIMAL(3,0)) year_month)", + "Value": "CHAR(\"2024-11-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2025-02-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL 1e0 year_month)", + "Value": "CHAR(\"2024-12-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0' year_month)", + "Value": "CHAR(\"2024-01-01\")" + }, + { + "Query": "SELECT DATE_ADD('20250101', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2026-01-01\")" + }, + { + "Query": "SELECT DATE_SUB('20250101', INTERVAL '1.0foobar' year_month)", + "Value": "CHAR(\"2024-01-01\")" + } +] diff --git a/go/vt/vtgate/evalengine/mysql_test.go b/go/vt/vtgate/evalengine/mysql_test.go index 0d46e419b76..18802cfb8dc 100644 --- a/go/vt/vtgate/evalengine/mysql_test.go +++ b/go/vt/vtgate/evalengine/mysql_test.go @@ -20,12 +20,13 @@ import ( "context" "encoding/json" "errors" - "fmt" "os" "path/filepath" "strings" "testing" + "golang.org/x/exp/slices" + "vitess.io/vitess/go/mysql/collations" "vitess.io/vitess/go/vt/sqlparser" ) @@ -81,7 +82,13 @@ func testSingle(t *testing.T, query string) (EvalResult, error) { } func TestMySQLGolden(t *testing.T) { + const Target = 0 + + var testcount int + golden, _ := filepath.Glob("integration/testdata/*.json") + slices.Sort(golden) + for _, gld := range golden { t.Run(filepath.Base(gld), func(t *testing.T) { var testcases []struct { @@ -102,7 +109,11 @@ func TestMySQLGolden(t *testing.T) { var ok int for _, tc := range testcases { - debug := fmt.Sprintf("\n// Debug\neval, err := testSingle(t, `%s`)\nt.Logf(\"eval=%%s err=%%v\", eval.Value(), err) // want value=%q\n", tc.Query, tc.Value) + testcount++ + if Target != 0 && Target != testcount { + continue + } + eval, err := testSingle(t, tc.Query) if err == errKnownBadQuery { ok++ @@ -110,20 +121,20 @@ func TestMySQLGolden(t *testing.T) { } if err != nil { if tc.Error == "" { - t.Errorf("query: %s\nmysql val: %s\nvitess err: %s\n%s", tc.Query, tc.Value, err.Error(), debug) + t.Errorf("query %d: %s\nmysql val: %s\nvitess err: %s", testcount, tc.Query, tc.Value, err.Error()) } else if !strings.HasPrefix(tc.Error, err.Error()) { - t.Errorf("query: %s\nmysql err: %s\nvitess err: %s\n%s", tc.Query, tc.Error, err.Error(), debug) + t.Errorf("query %d: %s\nmysql err: %s\nvitess err: %s", testcount, tc.Query, tc.Error, err.Error()) } else { ok++ } continue } if tc.Error != "" { - t.Errorf("query: %s\nmysql err: %s\nvitess val: %s\n%s", tc.Query, tc.Error, eval.Value(), debug) + t.Errorf("query %d: %s\nmysql err: %s\nvitess val: %s", testcount, tc.Query, tc.Error, eval.Value()) continue } if eval.Value().String() != tc.Value { - t.Errorf("query: %s\nmysql val: %s\nvitess val: %s\n%s", tc.Query, tc.Value, eval.Value(), debug) + t.Errorf("query %d: %s\nmysql val: %s\nvitess val: %s", testcount, tc.Query, tc.Value, eval.Value()) continue } ok++ @@ -136,6 +147,6 @@ func TestMySQLGolden(t *testing.T) { func TestDebug1(t *testing.T) { // Debug - eval, err := testSingle(t, `SELECT DATE_FORMAT(TIMESTAMP '1999-12-31 23:59:58.999', "%a %b %c %D %d %e %f %H %h %I %i %j %k %l %M %m %p %r %S %s %T %U %u %V %v %W %w %X %x %Y %y %%")`) + eval, err := testSingle(t, `SELECT DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1.999999' year_month)`) t.Logf("eval=%s err=%v coll=%s", eval.String(), err, eval.Collation().Get().Name()) } diff --git a/go/vt/vtgate/evalengine/testcases/cases.go b/go/vt/vtgate/evalengine/testcases/cases.go index cb03c6cb08f..2723377fdb5 100644 --- a/go/vt/vtgate/evalengine/testcases/cases.go +++ b/go/vt/vtgate/evalengine/testcases/cases.go @@ -150,6 +150,7 @@ var Cases = []TestCase{ {Run: FnIsUUID}, {Run: FnUUID}, {Run: FnUUIDToBin}, + {Run: DateMath}, } func JSONPathOperations(yield Query) { @@ -1847,3 +1848,48 @@ func FnUUIDToBin(yield Query) { } } } + +func DateMath(yield Query) { + dates := []string{ + `DATE'2018-05-01'`, + `TIMESTAMP'2020-12-31 23:59:59'`, + `TIMESTAMP'2025-01-01 00:00:00'`, + `'2018-05-01'`, + `'2020-12-31 23:59:59'`, + `'2025-01-01 00:00:00'`, + `20250101`, + `'pokemon trainers'`, + `'20250101'`, + } + intervalValues := []string{ + `1`, `'1:1'`, `'1 1:1:1'`, `'-1 10'`, `'1 10'`, `31`, `30`, `'1.999999'`, `1.999`, `'1.999'`, + `'1:1:1:1'`, `'1:1 1:1'`, `'-1:10'`, `'1:10'`, `1.5`, `1.5000`, `6/4`, `'6/4'`, `1.5e0`, `1.5000e0`, + `CAST(6/4 AS DECIMAL(3,1))`, `CAST(6/4 AS DECIMAL(3,0))`, `1e0`, `'1.0'`, `'1.0foobar'`, + } + mysqlDocSamples := []string{ + `DATE_ADD(DATE'2018-05-01',INTERVAL 1 DAY)`, + `DATE_SUB(DATE'2018-05-01',INTERVAL 1 YEAR)`, + `DATE_ADD(TIMESTAMP'2020-12-31 23:59:59', INTERVAL 1 SECOND)`, + `DATE_ADD(TIMESTAMP'2018-12-31 23:59:59', INTERVAL 1 DAY)`, + `DATE_ADD(TIMESTAMP'2100-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND)`, + `DATE_SUB(TIMESTAMP'2025-01-01 00:00:00', INTERVAL '1 1:1:1' DAY_SECOND)`, + `DATE_ADD(TIMESTAMP'1900-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR)`, + `DATE_SUB(DATE'1998-01-02', INTERVAL 31 DAY)`, + `DATE_ADD(TIMESTAMP'1992-12-31 23:59:59.000002', INTERVAL '1.999999' SECOND_MICROSECOND)`, + `DATE_ADD(DATE'2024-03-30', INTERVAL 1 MONTH)`, + `DATE_ADD(DATE'2024-03-31', INTERVAL 1 MONTH)`, + } + + for _, q := range mysqlDocSamples { + yield(q, nil) + } + + for _, d := range dates { + for _, i := range inputIntervals { + for _, v := range intervalValues { + yield(fmt.Sprintf("DATE_ADD(%s, INTERVAL %s %s)", d, v, i), nil) + yield(fmt.Sprintf("DATE_SUB(%s, INTERVAL %s %s)", d, v, i), nil) + } + } + } +} diff --git a/go/vt/vtgate/evalengine/testcases/inputs.go b/go/vt/vtgate/evalengine/testcases/inputs.go index 8d81a4b4122..47f50b677c5 100644 --- a/go/vt/vtgate/evalengine/testcases/inputs.go +++ b/go/vt/vtgate/evalengine/testcases/inputs.go @@ -285,3 +285,25 @@ var uuidInputs = []string{ "0x09DB81F6F26611EDA6F920FC8FD6830E", "0x11EDF26609DB81F6A6F920FC8FD6830E", } + +var inputIntervals = []string{"day", + "week", + "month", + "year", + "day_hour", + "day_microsecond", + "day_minute", + "day_second", + "hour", + "hour_microsecond", + "hour_minute", + "hour_second", + "microsecond", + "minute", + "minute_microsecond", + "minute_second", + "quarter", + "second", + "second_microsecond", + "year_month", +} diff --git a/go/vt/vtgate/evalengine/translate_builtin.go b/go/vt/vtgate/evalengine/translate_builtin.go index e5045a1900f..fb6f988af7d 100644 --- a/go/vt/vtgate/evalengine/translate_builtin.go +++ b/go/vt/vtgate/evalengine/translate_builtin.go @@ -744,6 +744,27 @@ func (ast *astCompiler) translateCallable(call sqlparser.Callable) (Expr, error) trim: call.Type, }, nil + case *sqlparser.IntervalDateExpr: + var err error + args := make([]Expr, 2) + + args[0], err = ast.translateExpr(call.Date) + if err != nil { + return nil, err + } + args[1], err = ast.translateExpr(call.Interval) + if err != nil { + return nil, err + } + + cexpr := CallExpr{Arguments: args, Method: call.FnName()} + return &builtinDateMath{ + CallExpr: cexpr, + sub: call.IsSubtraction(), + unit: call.NormalizedUnit(), + collate: ast.cfg.Collation, + }, nil + default: return nil, translateExprNotSupported(call) }