麦粉社区
>
帖子详情

使用原生sql数据集对高速缓存库中的表进行数据查询时,如何根据...

数据准备 发表于 2024-12-31 10:24
发表于 2024-12-31 10:24:32

数据源为高速缓存库,在使用原生sql数据集对高速缓存库中的表进行数据查询时,如何根据日期获取前一天数据,用了好几种函数都不行

发表于 2024-12-31 13:23:03
你用的高速缓存库是自带的吗?看是什么数据库,不同数据库的还真不一样

回复

使用道具 举报

发表于 2024-12-31 13:52:03
本帖最后由 帮助文档 于 2024-12-31 14:26 编辑

默认高速缓存库为Clickhouse数据库。


取对应的日期前一天的函数为:




select date_add(day,-1, toDate('20241231')) ;


输出结果:2024-12-30 日期类型


select date_add(day,-1, toDateTime64('2024-12-31 12:01:02',3)) ;


select date_add(day,-1, toDateTime64('2024-12-31 12:01:02',3,'Asia/Shanghai')) ; --如果结果存在时差,需要增加'Asia/Shanghai'参数。


输出结果:2024-12-30 12:01:02 日期时间类型


--格式化toYYYYMMDD()


select toYYYYMMDD(date_add(day,-1, toDateTime64('2024-12-31 12:01:02',3,'Asia/Shanghai'))) as last_day ;


select toYYYYMMDD(date_add(day,-1, toDate('20241231'))) as last_day;


输出结果:20241230 数值类型


toString()可以把数值转为字符串。




更多时间函数见官方文档时间日期函数 | ClickHouse Docs


注意,clickhouse的中文字段名称需要用双引号 或者` 号引起来





回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

4回帖数 0关注人数 419浏览人数
最后回复于:2024-12-31 13:52
快速回复 返回顶部 返回列表