clickhouse case
时间: 2023-08-24 10:15:34 浏览: 117
clickhouse的case语法在使用时需要注意一些问题。首先,如果case when语句中有else分支,clickhouse会报DB::Exception: Second and third arguments of function transform must be constant异常。这是因为clickhouse的case语法不支持简易case语法,必须使用搜索case when语法才能正常工作。例如,可以使用以下语法来实现相同的功能:case when date_granularity = 'yyyy' then formatDateTime(Date_Egg,'%Y') when date_granularity ='yyyyMM' then formatDateTime(Date_Egg,'%Y-%m') end。\[1\]\[2\]
另外,最近有用户在使用clickhouse的case语法时遇到了一个隐蔽的问题。当使用类似下面的case语法对某一列的日期字段进行转换时,发现转换的结果都为空值:case date_granularity when 'yyyy' then formatDateTime(Date_Egg,'%Y') when 'yyyyMM' then formatDateTime(Date_Egg,'%Y-%m') end。这可能是由于数据类型不匹配或者其他原因导致的。需要仔细检查数据类型和语法是否正确,以确保转换结果正确。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [clickhouse 中 case when 的一个坑](https://blog.csdn.net/qq_17518433/article/details/125105468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文