ClickHouse/tests/testflows/datetime64_extended_range/requirements/requirements.md
Andrey Z 2b5db5301a Fix
2021-04-12 14:38:02 +03:00

57 KiB

QA-SRS010 ClickHouse DateTime64 Extended Range

Software Requirements Specification

Table of Contents

Revision History

This document is stored in an electronic form using Git source control management software hosted in a GitHub Repository. All the updates are tracked using the Revision History.

Introduction

This document will cover requirements to support extended range for the DateTime64 data type that is outside the normal 1970 (1970-01-02 00:00:00 UTC) to 2105 (2105-12-31 23:59:59.99999 UTC) date range.

Terminology

SRS

Software Requirements Specification

Normal Date Range

1970 1970-01-02T00:00:00.000000 to 2105 2105-12-31T23:59:59.99999

Extended Date Range

1925 1925-01-01T00:00:00.000000 to 2238 2238-12-31 23:59:59.99999

Requirements

Generic

RQ.SRS-010.DateTime64.ExtendedRange

version: 1.0

ClickHouse SHALL support extended range for the DateTime64 data type that includes dates from the year 1925 to 2238.

RQ.SRS-010.DateTime64.ExtendedRange.NormalRange.Start

version: 1.0

ClickHouse SHALL support proper time handling around the normal date range that starts at 1970-01-01 00:00:00.000 expressed using the ISO 8601 format.

RQ.SRS-010.DateTime64.ExtendedRange.NormalRange.Start.BeforeEpochForTimeZone

version: 1.0

ClickHouse SHALL support proper time handling around the start of the normal date range when this time for the time zone is before the start of the normal date range.

RQ.SRS-010.DateTime64.ExtendedRange.NormalRange.End

version: 1.0

ClickHouse SHALL support proper time handling around the normal date range that ends at 2105-12-31T23:59:59.99999 expressed using the ISO 8601 format.

RQ.SRS-010.DateTime64.ExtendedRange.NormalRange.End.AfterEpochForTimeZone

version: 1.0

ClickHouse SHALL support proper time handling around the end of the normal date range when this time for the time zone is after the end of the normal date range.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions

version: 1.0

ClickHouse SHALL support proper conversion to and from DateTime64 data type from other data types.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions

version: 1.0

ClickHouse SHALL support correct operation of the Dates and Times Functions with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.TimeZones

version: 1.0

ClickHouse SHALL support correct operation with the DateTime64 extended range data type when combined with a supported time zone.

RQ.SRS-010.DateTime64.ExtendedRange.NonExistentTime

version: 1.0

ClickHouse SHALL support proper handling of non-existent times when using DateTime64 extended range data type.

RQ.SRS-010.DateTime64.ExtendedRange.Comparison

version: 1.0

ClickHouse SHALL support proper handling of time comparison when using DateTime64 extended range data type. For example, SELECT toDateTime64('2019-05-05 20:20:12.050', 3) < now().

RQ.SRS-010.DateTime64.ExtendedRange.SpecificTimestamps

version: 1.0

ClickHouse SHALL properly work with the following timestamps in all supported timezones:

[9961200,73476000,325666800,354675600,370400400,386125200,388566010,401850000,417574811,496803600,528253200,624423614,636516015,671011200,717555600,752047218,859683600,922582800,1018173600,1035705600,1143334800,1162105223,1174784400,1194156000,1206838823,1224982823,1236495624,1319936400,1319936424,1425798025,1459040400,1509872400,2090451627,2140668000]

Specific

RQ.SRS-010.DateTime64.ExtendedRange.Start

version: 1.0

ClickHouse SHALL support extended range for the DateTime64 data type that starts at 1925-01-01T00:00:00.000000 expressed using the ISO 8601 format.

RQ.SRS-010.DateTime64.ExtendedRange.End

version: 1.0

ClickHouse SHALL support extended range for the DateTime64 data type that ends at 2238-12-31T23:59:59.999999 expressed using the ISO 8601 format.

Non-Existent Time
RQ.SRS-010.DateTime64.ExtendedRange.NonExistentTime.InvalidDate

version: 1.0

ClickHouse SHALL support proper handling of invalid dates when using DateTime64 extended range data type, such as:

  • YYYY-04-31, YYYY-06-31, YYYY-09-31, YYYY-11-31
  • 1990-02-30 00:00:02
RQ.SRS-010.DateTime64.ExtendedRange.NonExistentTime.InvalidTime

version: 1.0

ClickHouse SHALL support proper handling of invalid time for a timezone when using DateTime64 extended range data type, for example,

RQ.SRS-010.DateTime64.ExtendedRange.NonExistentTime.TimeZoneSwitch

version: 1.0

ClickHouse SHALL support proper handling of invalid time when using DateTime64 extended range data type when the invalid time is caused when countries switch timezone definitions with no daylight savings time switch Stuart Bishop: pytz library.

For example, in 1915 Warsaw switched from Warsaw time to Central European time with no daylight savings transition. So at the stroke of midnight on August 5th 1915 the clocks were wound back 24 minutes creating an ambiguous time period that cannot be specified without referring to the timezone abbreviation or the actual UTC offset. In this case midnight happened twice, neither time during a daylight saving time period. pytz handles this transition by treating the ambiguous period before the switch as daylight savings time, and the ambiguous period after as standard time.

Stuart Bishop: pytz library

RQ.SRS-010.DateTime64.ExtendedRange.NonExistentTime.DaylightSavingTime

version: 1.0

ClickHouse SHALL support proper handling of invalid time when using DateTime64 extended range data type when for a given timezone time switches from standard to daylight saving.

For example, in the US/Eastern timezone on the last Sunday morning in October, the following sequence happens:

01:00 EDT occurs 1 hour later, instead of 2:00am the clock is turned back 1 hour and 01:00 happens again (this time 01:00 EST) In fact, every instant between 01:00 and 02:00 occurs twice. Stuart Bishop: pytz library

RQ.SRS-010.DateTime64.ExtendedRange.NonExistentTime.DaylightSavingTime.Disappeared

version: 1.0

ClickHouse SHALL support proper handling of invalid time when using DateTime64 extended range data type for a given timezone when transition from the standard to daylight saving time causes an hour to disappear.

Expected behavior: if DateTime64 initialized by a skipped time value, it is being treated as DST and resulting value will be an hour earlier, e.g. SELECT toDateTime64('2020-03-08 02:34:00', 0, 'America/Denver') returns 2020-03-08 01:34:00.

RQ.SRS-010.DateTime64.ExtendedRange.NonExistentTime.LeapSeconds

version: 1.0

ClickHouse SHALL support proper handling of leap seconds adjustments when using DateTime64 extended range data type.

Dates And Times Functions
RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toTimeZone

version: 1.0

ClickHouse SHALL support correct operation of the toTimeZone function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toYear

version: 1.0

ClickHouse SHALL support correct operation of the toYear function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toQuarter

version: 1.0

ClickHouse SHALL support correct operation of the toQuarter function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toMonth

version: 1.0

ClickHouse SHALL support correct operation of the toMonth function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toDayOfYear

version: 1.0

ClickHouse SHALL support correct operation of the toDayOfYear function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toDayOfMonth

version: 1.0

ClickHouse SHALL support correct operation of the toDayOfMonth function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toDayOfWeek

version: 1.0

ClickHouse SHALL support correct operation of the toDayOfWeek function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toHour

version: 1.0

ClickHouse SHALL support correct operation of the toHour function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toMinute

version: 1.0

ClickHouse SHALL support correct operation of the toMinute function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toSecond

version: 1.0

ClickHouse SHALL support correct operation of the toSecond function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toUnixTimestamp

version: 1.0

ClickHouse SHALL support correct operation of the toUnitTimestamp function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range. Timestamp value expected to be negative when DateTime64 value is prior to 1970-01-01 and positine otherwise.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfYear

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfYear function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfISOYear

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfISOYear function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfQuarter

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfQuarter function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfMonth

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfMonth function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toMonday

version: 1.0

ClickHouse SHALL support correct operation of the toMonday function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfWeek

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfWeek function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfDay

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfDay function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfHour

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfHour function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfMinute

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfMinute function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfSecond

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfSecond function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfFiveMinute

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfFiveMinute function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfTenMinutes

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfTenMinutes function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfFifteenMinutes

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfFifteenMinutes function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toStartOfInterval

version: 1.0

ClickHouse SHALL support correct operation of the toStartOfInterval function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range. More detailed description can be found here.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toTime

version: 1.0

ClickHouse SHALL support correct operation of the toTime function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeYearNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeYearNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeQuarterNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeQuarterNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeMonthNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeMonthNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeWeekNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeWeekNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeDayNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeDayNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeHourNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeHourNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeMinuteNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeMinuteNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toRelativeSecondNum

version: 1.0

ClickHouse SHALL support correct operation of the toRelativeSecondNum function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toISOYear

version: 1.0

ClickHouse SHALL support correct operation of the toISOYear function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toISOWeek

version: 1.0

ClickHouse SHALL support correct operation of the toISOWeek function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toWeek

version: 1.0

ClickHouse SHALL support correct operation of the toWeek function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toYearWeek

version: 1.0

ClickHouse SHALL support correct operation of the toYearWeek function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.now

version: 1.0

ClickHouse SHALL support conversion of output from the now function to the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.today

version: 1.0

ClickHouse SHALL support conversion of output from the today function to the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.yesterday

version: 1.0

ClickHouse SHALL support conversion of output from the yesterday function to the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.timeSlot

version: 1.0

ClickHouse SHALL support conversion of output from the timeSlot function to the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toYYYYMM

version: 1.0

ClickHouse SHALL support correct operation of the toYYYYMM function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toYYYYMMDD

version: 1.0

ClickHouse SHALL support correct operation of the toYYYYMMDD function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.toYYYYMMDDhhmmss

version: 1.0

ClickHouse SHALL support correct operation of the toYYYYMMDDhhmmss function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addYears

version: 1.0

ClickHouse SHALL support correct operation of the addYears function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addMonths

version: 1.0

ClickHouse SHALL support correct operation of the addMonths function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addWeeks

version: 1.0

ClickHouse SHALL support correct operation of the addWeeks function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addDays

version: 1.0

ClickHouse SHALL support correct operation of the addDays function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addHours

version: 1.0

ClickHouse SHALL support correct operation of the addHours function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addMinutes

version: 1.0

ClickHouse SHALL support correct operation of the addMinutes function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addSeconds

version: 1.0

ClickHouse SHALL support correct operation of the addSeconds function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.addQuarters

version: 1.0

ClickHouse SHALL support correct operation of the addQuarters function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractYears

version: 1.0

ClickHouse SHALL support correct operation of the subtractYears function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractMonths

version: 1.0

ClickHouse SHALL support correct operation of the subtractMonths function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractWeeks

version: 1.0

ClickHouse SHALL support correct operation of the subtractWeeks function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractDays

version: 1.0

ClickHouse SHALL support correct operation of the subtractDays function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractHours

version: 1.0

ClickHouse SHALL support correct operation of the subtractHours function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractMinutes

version: 1.0

ClickHouse SHALL support correct operation of the subtractMinutes function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractSeconds

version: 1.0

ClickHouse SHALL support correct operation of the subtractSeconds function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.subtractQuarters

version: 1.0

ClickHouse SHALL support correct operation of the subtractQuarters function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.dateDiff

version: 1.0

ClickHouse SHALL support correct operation of the dateDiff function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.timeSlots

version: 1.0

ClickHouse SHALL support correct operation of the timeSlots function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.DatesAndTimesFunctions.formatDateTime

version: 1.0

ClickHouse SHALL support correct operation of the formatDateTime function used with the DateTime64 data type when it stores dates within the normal date range and the extended date range.

Type Conversion Functions

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toInt(8|16|32|64|128|256)

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to integer types using toInt(8|16|32|64|128|256) functions.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toUInt(8|16|32|64|256)

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to unsigned integer types using toUInt(8|16|32|64|256) functions.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toFloat(32|64)

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to float types using toFloat(32|64) functions.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toDate

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range to the Date type using the toDate function. This function is ONLY supposed to work in NORMAL RANGE.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toDateTime

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to the DateTime type using the toDateTime function. This function is ONLY supposed to work in NORMAL RANGE.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toDateTime64

version: 1.0

ClickHouse SHALL support correct conversion from the data types supported by the toDateTime64 function to the DateTime64 data type when it stores dates within the normal date range and the extended date range.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toDateTime64.FromString.MissingTime

version: 1.0

ClickHouse SHALL support correct conversion from the String data type to the DateTime64 data type when value of the string is missing the hh:mm-ss.sss part. For example, toDateTime64('2020-01-01', 3).

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toDecimal(32|64|128|256)

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to Decimal types using toDecimal(32|64|128|256) functions.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toString

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to the String type using the toString function.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.CAST(x,T)

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to one of the supported data type using the CAST(x,T) function.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toUnixTimestamp64Milli

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to the Int64 type using the toUnixTimestamp64Milli function.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toUnixTimestamp64Micro

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to the Int64 type using the toUnixTimestamp64Micro function.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.toUnixTimestamp64Nano

version: 1.0

ClickHouse SHALL support correct conversion of the DateTime64 data type when it stores dates within the normal date range and the extended date range to the Int64 type using the toUnixTimestamp64Nano function.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.fromUnixTimestamp64Milli

version: 1.0

ClickHouse SHALL support correct conversion from the Int64 type to the DateTime64 data type when it stores dates within the normal date range and the extended date range using the fromUnixTimestamp64Milli function.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.fromUnixTimestamp64Micro

version: 1.0

ClickHouse SHALL support correct conversion from the Int64 type to the DateTime64 data type when it stores dates within the normal date range and the extended date range using the fromUnixTimestamp64Micro function.

RQ.SRS-010.DateTime64.ExtendedRange.TypeConversionFunctions.fromUnixTimestamp64Nano

version: 1.0

ClickHouse SHALL support correct conversion from the Int64 type to the DateTime64 data type when it stores dates within the normal date range and the extended date range using the fromUnixTimestamp64Nano function.

References