mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 00:22:29 +00:00
Kusto-phase2 : adjust time format
This commit is contained in:
parent
5cc3f4708c
commit
c9e180cc87
@ -111,9 +111,9 @@ bool DatetimePart::convertImpl(String & out, IParser::Pos & pos)
|
|||||||
else if (part == "DAYOFYEAR")
|
else if (part == "DAYOFYEAR")
|
||||||
format = "%j";
|
format = "%j";
|
||||||
else if (part == "HOUR")
|
else if (part == "HOUR")
|
||||||
format = "%I";
|
format = "%H";
|
||||||
else if (part == "MINUTE")
|
else if (part == "MINUTE")
|
||||||
format = "%M";
|
format = "%i";
|
||||||
else if (part == "SECOND")
|
else if (part == "SECOND")
|
||||||
format = "%S";
|
format = "%S";
|
||||||
else
|
else
|
||||||
@ -312,9 +312,9 @@ bool FormatDateTime::convertImpl(String & out, IParser::Pos & pos)
|
|||||||
else if (arg == "s" || arg == "ss")
|
else if (arg == "s" || arg == "ss")
|
||||||
formatspecifier = formatspecifier + "%S";
|
formatspecifier = formatspecifier + "%S";
|
||||||
else if (arg == "m" || arg == "mm")
|
else if (arg == "m" || arg == "mm")
|
||||||
formatspecifier = formatspecifier + "%M";
|
formatspecifier = formatspecifier + "%i";
|
||||||
else if (arg == "h" || arg == "hh")
|
else if (arg == "h" || arg == "hh")
|
||||||
formatspecifier = formatspecifier + "%I";
|
formatspecifier = formatspecifier + "%h";
|
||||||
else if (arg == "H" || arg == "HH")
|
else if (arg == "H" || arg == "HH")
|
||||||
formatspecifier = formatspecifier + "%H";
|
formatspecifier = formatspecifier + "%H";
|
||||||
else if (arg == "d")
|
else if (arg == "d")
|
||||||
@ -396,13 +396,13 @@ bool FormatTimeSpan::convertImpl(String & out, IParser::Pos & pos)
|
|||||||
if (arg == "s" || arg == "ss")
|
if (arg == "s" || arg == "ss")
|
||||||
formatspecifier = formatspecifier + "%S";
|
formatspecifier = formatspecifier + "%S";
|
||||||
else if (arg == "m" || arg == "mm")
|
else if (arg == "m" || arg == "mm")
|
||||||
formatspecifier = formatspecifier + "%M";
|
formatspecifier = formatspecifier + "%i";
|
||||||
else if (arg == "h" || arg == "hh")
|
else if (arg == "h" || arg == "hh")
|
||||||
{
|
{
|
||||||
if (is_hour_zero) //To handle the CH limit for 12hr format(01-12). If not handled , 1.00:00:00 returned as 1.12:00:00(in 12 hr format)
|
if (is_hour_zero) //To handle the CH limit for 12hr format(01-12). If not handled , 1.00:00:00 returned as 1.12:00:00(in 12 hr format)
|
||||||
formatspecifier = formatspecifier + "%H";
|
formatspecifier = formatspecifier + "%h";
|
||||||
else
|
else
|
||||||
formatspecifier = formatspecifier + "%I";
|
formatspecifier = formatspecifier + "%H";
|
||||||
}
|
}
|
||||||
else if (arg == "H" || arg == "HH")
|
else if (arg == "H" || arg == "HH")
|
||||||
formatspecifier = formatspecifier + "%H";
|
formatspecifier = formatspecifier + "%H";
|
||||||
|
@ -156,27 +156,27 @@ INSTANTIATE_TEST_SUITE_P(ParserKQLQuery_Datetime, ParserTest,
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"print format_datetime(todatetime('2009-06-15T13:45:30.6175425'), 'yy-M-dd [H:mm:ss.fff]')",
|
"print format_datetime(todatetime('2009-06-15T13:45:30.6175425'), 'yy-M-dd [H:mm:ss.fff]')",
|
||||||
"SELECT concat(substring(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%M:%S.]')), 1, position(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%M:%S.]')), '.')), substring(substring(toString(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC')), position(toString(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC')), '.') + 1), 1, 3), substring(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%M:%S.]')), position(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%M:%S.]')), '.') + 1, length(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%M:%S.]')))))"
|
"SELECT concat(substring(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%i:%S.]')), 1, position(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%i:%S.]')), '.')), substring(substring(toString(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC')), position(toString(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC')), '.') + 1), 1, 3), substring(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%i:%S.]')), position(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%i:%S.]')), '.') + 1, length(toString(formatDateTime(parseDateTime64BestEffortOrNull(toString('2009-06-15T13:45:30.6175425'), 9, 'UTC'), '%y-%m-%d [%H:%i:%S.]')))))"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"print format_datetime(datetime(2015-12-14 02:03:04.12345), 'y-M-d h:m:s tt')",
|
"print format_datetime(datetime(2015-12-14 02:03:04.12345), 'y-M-d h:m:s tt')",
|
||||||
"SELECT formatDateTime(parseDateTime64BestEffortOrNull('2015-12-14 02:03:04.12345', 9, 'UTC'), '%y-%m-%e %I:%M:%S %p')"
|
"SELECT formatDateTime(parseDateTime64BestEffortOrNull('2015-12-14 02:03:04.12345', 9, 'UTC'), '%y-%m-%e %h:%i:%S %p')"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"print format_timespan(time(1d), 'd-[hh:mm:ss]')",
|
"print format_timespan(time(1d), 'd-[hh:mm:ss]')",
|
||||||
"SELECT concat(leftPad('1', 1, '0'), toString(formatDateTime(toDateTime64(CAST('86400', 'Float64'), 9, 'UTC'), '-[%H:%M:%S]')))"
|
"SELECT concat(leftPad('1', 1, '0'), toString(formatDateTime(toDateTime64(CAST('86400', 'Float64'), 9, 'UTC'), '-[%h:%i:%S]')))"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"print format_timespan(time('12:30:55.123'), 'ddddd-[hh:mm:ss.ffff]')",
|
"print format_timespan(time('12:30:55.123'), 'ddddd-[hh:mm:ss.ffff]')",
|
||||||
"SELECT concat(leftPad('0', 5, '0'), substring(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%I:%M:%S.]')), 1, length(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%I:%M:%S.]'))) - position(reverse(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%I:%M:%S.]'))), ']')), substring(substring(toString(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC')), position(toString(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC')), '.') + 1), 1, 4), substring(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%I:%M:%S.]')), position(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%I:%M:%S.]')), ']'), length(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%I:%M:%S.]')))))"
|
"SELECT concat(leftPad('0', 5, '0'), substring(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%H:%i:%S.]')), 1, length(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%H:%i:%S.]'))) - position(reverse(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%H:%i:%S.]'))), ']')), substring(substring(toString(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC')), position(toString(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC')), '.') + 1), 1, 4), substring(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%H:%i:%S.]')), position(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%H:%i:%S.]')), ']'), length(toString(formatDateTime(toDateTime64(CAST('45055.123', 'Float64'), 9, 'UTC'), '-[%H:%i:%S.]')))))"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"print v1=format_timespan(time('29.09:00:05.12345'), 'dd.hh:mm:ss:FF')",
|
"print v1=format_timespan(time('29.09:00:05.12345'), 'dd.hh:mm:ss:FF')",
|
||||||
"SELECT concat(leftPad('29', 2, '0'), substring(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S:')), 1, (length(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S:'))) - position(reverse(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S:'))), ':')) + 1), substring(substring(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), position(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), '.') + 1), 1, 2)) AS v1"
|
"SELECT concat(leftPad('29', 2, '0'), substring(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S:')), 1, (length(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S:'))) - position(reverse(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S:'))), ':')) + 1), substring(substring(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), position(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), '.') + 1), 1, 2)) AS v1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"print v2=format_timespan(time('29.09:00:05.12345'), 'ddd.h:mm:ss [fffffff]');",
|
"print v2=format_timespan(time('29.09:00:05.12345'), 'ddd.h:mm:ss [fffffff]');",
|
||||||
"SELECT concat(leftPad('29', 3, '0'), substring(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S []')), 1, length(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S []'))) - position(reverse(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S []'))), ']')), substring(substring(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), position(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), '.') + 1), 1, 7), substring(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S []')), position(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S []')), ']'), length(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%I:%M:%S []'))))) AS v2"
|
"SELECT concat(leftPad('29', 3, '0'), substring(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S []')), 1, length(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S []'))) - position(reverse(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S []'))), ']')), substring(substring(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), position(toString(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC')), '.') + 1), 1, 7), substring(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S []')), position(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S []')), ']'), length(toString(formatDateTime(toDateTime64(CAST('2538005.12345', 'Float64'), 9, 'UTC'), '.%H:%i:%S []'))))) AS v2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"print datetime_part('day', datetime(2017-10-30 01:02:03.7654321))",
|
"print datetime_part('day', datetime(2017-10-30 01:02:03.7654321))",
|
||||||
|
Loading…
Reference in New Issue
Block a user