剑道第一仙

导航

Clickhouse时间日期函数一文详解+代码展示

转:https://blog.csdn.net/master_hunter/article/details/125762575

一、时间函数
和MySQL时间函数有些不同,但是时间函数的功能是一样的,这里把常用的时间函数给出,效果以实际代码运行结果为准:

 

1.取当前时间
SELECT now() AS time

SELECT today() AS time

获取当前时间戳
SELECT toUnixTimestamp(now()) AS time

2.取年月日季度
SELECT toYeara(now()) AS time

SELECT toMonth(now()) AS time

SELECT toDayOfMonth(now()) AS time

获取季度toQuarter()
SELECT toQuarter(now()) AS time
out:3

3.日期转化
日期化为天数
SELECT toDayOfYear(now()) AS time


当天日期所在当月周数
SELECT toDayOfWeek(now()) AS time


4.获取起始时间
获取当前时间的起始时间toStartOfDay(now()):
SELECT toStartOfDay(now()) AS time

格式就是这样的格式,大家跟着前面那种表来对就没问题。

二、时间格式转换函数
1.formatDateTime(<时间数据>,'format格式')
format格式:

用法代码:

SELECT formatDateTime(now(),'%Y-%m-%d')AS time

可以根据format格式自由组合。

2.toYYYYMM()类型
该类型有三个:

化为时间戳形式toUnixTimestamp():
SELECT toUnixTimestamp(now()) AS time


三、时间数据类型转换
SELECT toDateTime('2022-07-13 14:28:33') AS time
将可识别为日期时间的字符串转化为具体时间。

SELECT toDate('2022-07-13 14:28:33') AS time
将可识别为日期的字符串转化为具体日期

四、时间运算函数
1.interval
interval关键字是和MySQL是一样的,大家不清楚的可以去看:

一文速学-玩转MySQL中INTERVAL关键字和INTERVAL()函数用法讲解

很简单就可以进行时间加减:

SELECT
toDate('2022-07-13 14:28:33')-interval 3 day AS time

2.add增加时间
和MySQL的date_add是一样的,给出列表均已测试:

 代码使用展示:

SELECT addYears(toDate('2022-07-13 14:28:33'),1) AS time

3.subtract减去时间
和add是一样的,故不作表格展示,展示代码用法:

SELECT subtractYears(toDate('2022-07-13 14:28:33'),1) AS time


4.时间差值 dateDiff()
也是很简单的一个函数看过一次会有就好了:

SELECT dateDiff('year',toDate('2022-07-13 14:28:33'),toDate('2023-07-13 14:28:33')) AS time


后面一个时间减去前面一个时间,前面的参数为时间类似:

有: 'year','month','week','day','hour','minute','second'。


————————————————
版权声明:本文为CSDN博主「fanstuck」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/master_hunter/article/details/125762575

posted on 2023-10-09 17:08  剑道第一仙  阅读(1496)  评论(0编辑  收藏  举报