错误代码:38 DB::Exception:无法解析日期:值太短:无法从字符串解析日期:执行“FUNCTION toDate()”时

Posted

技术标签:

【中文标题】错误代码:38 DB::Exception:无法解析日期:值太短:无法从字符串解析日期:执行“FUNCTION toDate()”时【英文标题】:Error Code: 38 DB::Exception: Cannot parse date: value is too short: Cannot parse Date from String:while executing 'FUNCTION toDate()' 【发布时间】:2021-07-27 18:26:26 【问题描述】:

当我使用这个查询时:

SELECT
    store_id,
    toDate(concat(year, '-', month, '-', day)) AS date,
    COUNTDistinct(session_id) AS visits
FROM s3data.visits_parquet_improved
WHERE isNotNull(session_id) AND ((toDate(concat(year, '-', month, '-', day)) >= toDate('2021-06-23')) AND (toDate(concat(year, '-', month, '-', day)) <= toDate('2021-06-24')))
GROUP BY
    store_id,
    year,
    month,
    day
ORDER BY
    year ASC,
    month ASC,
    day ASC

返回此错误:

Received exception from server (version 21.7.4):
Code: 38. DB::Exception: Received from localhost:9000. DB::Exception: Cannot parse date: 
value is too short: Cannot parse Date from String: while executing 
'FUNCTION toDate(concat(year, '-', month, '-', day) :: 9) -> toDate(concat(year, '-', month, '-', day)) Date : 5'.

有人知道为什么以及如何解决它吗?

【问题讨论】:

错误消息告诉您确切的原因 - 您尝试解析为日期的值太短。您发送的年、月或日值(您的帖子中未包含)不正确。 您的数据集中的最小 值是多少? @KenWhite 年、月、日的值是(例如)2021、5、31 【参考方案1】:
select toDate('');
DB::Exception: Cannot parse date: value is too short: Cannot parse Date from String: While processing toDate('').


:) select toDateOrZero('');

┌─toDateOrZero('')─┐
│       1970-01-01 │
└──────────────────┘


:) SELECT toDateOrNull('')

┌─toDateOrNull('')─┐
│             ᴺᵁᴸᴸ │
└──────────────────┘


:) SELECT toDate(parseDateTimeBestEffortOrNull('20210601'))

┌─toDate(parseDateTimeBestEffortOrNull('20210601'))─┐
│                                        2021-06-01 │
└───────────────────────────────────────────────────┘

【讨论】:

以上是关于错误代码:38 DB::Exception:无法解析日期:值太短:无法从字符串解析日期:执行“FUNCTION toDate()”时的主要内容,如果未能解决你的问题,请参考以下文章

clickhouse_driver.errors.ServerException:代码:62.DB::Exception:语法错误

代码:306。DB::Exception:从 localhost:9000 接收。 DB::Exception:堆栈大小太大。堆栈地址

clickhouseApplication: DB::Exception: Duplicate interserver IO endpoint: DataPartsExchange

clickhouse未解决 ClickHouse exception, code: 1002 DB::Exception: Directory already exists

DB::Exception: 从 localhost:8000 接收。 DB::Exception:列数不匹配

无法解压缩不可迭代的numpy.float64对象python3 opencv