Looker连接MySQL时文本年月转日期报错求助
解决MySQL中year_month文本转日期的问题
你的错误根源有两个:一是误用了MySQL不支持的函数,PARSE_DATE是BigQuery专属函数,MySQL需要用STR_TO_DATE做日期解析;二是语句里的字段名year_month_extra是笔误,实际表字段应为year_month。
正确的SQL转换写法
直接利用MySQL的STR_TO_DATE函数,配合拼接日期后缀完成转换:
STR_TO_DATE(CONCAT(year_month, '_01'), '%Y_%m_%d')
或者先替换下划线为横杠再解析(MySQL会自动补全当月1号):
STR_TO_DATE(REPLACE(year_month, '_', '-'), '%Y-%m-%d')
Looker中配置日期维度示例
如果要在LookML里定义可筛选的日期维度,写法如下:
dimension: year_month_date { type: date sql: STR_TO_DATE(CONCAT(${TABLE}.year_month, '_01'), '%Y_%m_%d') ;; }
转换效果验证
用你提供的测试数据,转换后会得到:
| property_id | year_month | year_month_date |
|---|---|---|
| 2 | 2021_01 | 2021-01-01 |
| 33 | 2021_01 | 2021-01-01 |
| 356 | 2021_03 | 2021-03-01 |
| 32 | 2022_04 | 2022-04-01 |
配置完成后就能正常添加日期筛选器。
内容的提问来源于stack exchange,提问作者Eslam Elgourany
相关产品推荐
相关产品推荐

