前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >clickhouse时间日期函数详解-toDate,toDateTime,formatDateTime

clickhouse时间日期函数详解-toDate,toDateTime,formatDateTime

作者头像
公众号-利志分享
发布2022-04-25 09:34:37
24.2K0
发布2022-04-25 09:34:37
举报
文章被收录于专栏:利志分享

1:时间日期函数

toYear():获取日期或时间日期的年份

toQuarter():获取时间日期的季度

toMonth():取日期或时间日期的月份

toDayOfMonth():获取日期或时间日期的天(1-31)

toDayOfWeek():获取日期或时间日期的星期数值(1-7)

toHour():获取时间日期的时

toMinute():获取时间日期的分

toSecond():获取时间日期的秒

代码语言:javascript
复制
select toYear(now()),toQuarter(now()),toMonth(now()),toDayOfMonth(now()),toDayOfWeek(now()),toHour(now()),toMinute(now()),toSecond(now())


SELECT
    toYear(now()),
    toQuarter(now()),
    toMonth(now()),
    toDayOfMonth(now()),
    toDayOfWeek(now()),
    toHour(now()),
    toMinute(now()),
    toSecond(now())


Query id: 147dad02-8e05-4cff-a8bd-f89331f46f3e


┌─toYear(now())─┬─toQuarter(now())─┬─toMonth(now())─┬─toDayOfMonth(now())─┬─toDayOfWeek(now())─┬─toHour(now())─┬─toMinute(now())─┬─toSecond(now())─┐
│          2022 │                1 │              3 │                   4 │                  5 │            12 │              11 │              42 │
└───────────────┴──────────────────┴────────────────┴─────────────────────┴────────────────────┴───────────────┴─────────────────┴─────────────────┘

2:常用的时间转换函数

toDate():将字符日期或时间戳转化为日期

toDateTime() :将字符时间戳转化为时间戳

代码语言:javascript
复制
select now(),toDate(1509836867),toDate('2017-11-05 08:07:47'),toDateTime(1509836867),toDateTime('2017-11-05 08:07:47')

SELECT
    now(),
    toDate(1509836867),
    toDate('2017-11-05 08:07:47'),
    toDateTime(1509836867),
    toDateTime('2017-11-05 08:07:47')


Query id: aa5b05b7-63db-47da-b9f1-42c092c25564

┌───────────────now()─┬─toDate(1509836867)─┬─toDate('2017-11-05 08:07:47')─┬─toDateTime(1509836867)─┬─toDateTime('2017-11-05 08:07:47')─┐
│ 2022-03-04 12:21:20 │         2017-11-05 │                    2017-11-05 │    2017-11-05 07:07:47 │               2017-11-05 08:07:47 │
└─────────────────────┴────────────────────┴───────────────────────────────┴────────────────────────┴───────────────────────────────────┘

3:常用的时间戳格式转换函数

formatDateTime:函数根据给定的格式字符串来格式化时间。(请注意:格式字符串必须是常量表达式)

支持的格式修饰符如下:

代码语言:javascript
复制
修饰符 | 描述 | 示例
---|---|---
修饰符|描述|示例
%C|年除以100并截断为整数(00-99)|20
%d|月中的一天,零填充(01-31)|02
%D|短MM/DD/YY日期,相当于%m/%d/%y|01/02/2018
%e|月中的一天,空格填充( 1-31)|2
%F|短YYYY-MM-DD日期,相当于%Y-%m-%d|2018-01-02
%G|ISO周号的四位数年份格式, 从基于周的年份由ISO 8601定义 标准计算得出,通常仅对%V有用|2018
%g|两位数的年份格式,与ISO 8601一致,四位数表示法的缩写|18
%H|24小时格式(00-23)|22
%I|12小时格式(01-12)|10
%j|一年中的一天 (001-366)|002
%m|月份为十进制数(01-12)|01
%M|分钟(00-59)|33
%n|换行符(")|
%p|AM或PM指定|PM
%Q|季度(1-4)|1
%R|24小时HH:MM时间,相当于%H:%M|22:33
%S|秒 (00-59)|44
%t|水平制表符(’)|
%T|ISO8601时间格式(HH:MM:SS),相当于%H:%M:%S|22:33:44
%u|ISO8601工作日为数字,星期一为1(1-7)|2
%V|ISO8601周编号(01-53)|01
%w|工作日为十进制数,周日为0(0-6)|2
%y|年份,最后两位数字(00-99)|18
%Y|年|2018
%%|%符号|%

代码语言:javascript
复制
SELECT formatDateTime(now(), '%Y-%m-%d')

Query id: 7f3896f7-731b-4c35-99e4-21bb06a8c0df
┌─formatDateTime(now(), '%Y-%m-%d')─┐
│ 2022-03-04                        │
└───────────────────────────────────┘

4:生成日期、时间戳

now() :生成当前时间戳

today():生成当前日期

yesterday():生成当前日期的前一天

代码语言:javascript
复制
SELECT
    now(),
    today(),
    yesterday()

Query id: fb9436d2-9f16-43d4-81d8-03d213374879
┌───────────────now()─┬────today()─┬─yesterday()─┐
│ 2022-03-04 13:23:20 │ 2022-03-04 │  2022-03-03 │
└─────────────────────┴────────────┴─────────────┘
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 利志分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档