错误代码: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