File tree Expand file tree Collapse file tree 1 file changed +24
-6
lines changed
ydb/public/lib/ydb_cli/common Expand file tree Collapse file tree 1 file changed +24
-6
lines changed Original file line number Diff line number Diff line change @@ -133,15 +133,33 @@ class TCsvToYdbConverter {
133133 case EPrimitiveType::Interval:
134134 Builder.Interval (GetArithmetic<i64 >(token));
135135 break ;
136- case EPrimitiveType::Date32:
137- Builder.Date32 (GetArithmetic<i32 >(token));
136+ case EPrimitiveType::Date32: {
137+ TInstant date;
138+ if (TInstant::TryParseIso8601 (token, date)) {
139+ Builder.Date32 (date.Days ());
140+ } else {
141+ Builder.Date32 (GetArithmetic<i32 >(token));
142+ }
138143 break ;
139- case EPrimitiveType::Datetime64:
140- Builder.Datetime64 (GetArithmetic<i64 >(token));
144+ }
145+ case EPrimitiveType::Datetime64: {
146+ TInstant date;
147+ if (TInstant::TryParseIso8601 (token, date)) {
148+ Builder.Datetime64 (date.Seconds ());
149+ } else {
150+ Builder.Datetime64 (GetArithmetic<i64 >(token));
151+ }
141152 break ;
142- case EPrimitiveType::Timestamp64:
143- Builder.Timestamp64 (GetArithmetic<i64 >(token));
153+ }
154+ case EPrimitiveType::Timestamp64: {
155+ TInstant date;
156+ if (TInstant::TryParseIso8601 (token, date)) {
157+ Builder.Timestamp64 (date.MicroSeconds ());
158+ } else {
159+ Builder.Timestamp64 (GetArithmetic<i64 >(token));
160+ }
144161 break ;
162+ }
145163 case EPrimitiveType::Interval64:
146164 Builder.Interval64 (GetArithmetic<i64 >(token));
147165 break ;
You can’t perform that action at this time.
0 commit comments