我是靠谱客的博主 辛勤大山,最近开发中收集的这篇文章主要介绍ClickHouce formatDateTime() 函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

有时,我们需要将常规的时间格式转换为特定业务场景或者特定格式的时间表示格式,那我们可以使用formatDateTime()函数来实现

简单介绍下:

formatDateTime()
解析:函数根据给定的格式字符串来格式化时间。请注意:格式字符串必须是常量表达式,例如:单个结果列不能有多种格式字符串
语法:formatDateTime(Time, Format [, Timezone])
返回值:根据指定格式返回的日期和时间
 

小示列:

select
formatDateTime(toDate('2020-01-04'), '%D') as date
, formatDateTime(toDate('2020-01-04'), '%F')
as date_1
, formatDateTime(toDate('2021-05-13'), '%Y-%m-%d') as date_2
, formatDateTime(toDate('2021-05-13'), '%Y-%m')
as year_month;
select
formatDateTime(toDateTime('2021-01-13 21:12:13'),'%Y-%m-%d %R:%S')
format_1-- %R24小时HH:MM时间,相当于%H:%M
, formatDateTime(toDateTime('2021-01-13 21:12:13'),'%Y-%m-%d %H:%M:%S')
format_2-- %H 24小时格式(00-23)
, formatDateTime(toDateTime('2021-01-13 21:12:13'),'%Y-%m-%d %I:%M:%S')
format_3-- %I 小时12h格式(01-12)
, formatDateTime(toDateTime('2021-01-13 21:12:13'),'%Y-%m-%d %p %I:%M:%S')
format_4;
-- %p 指定AM或PM

支持的格式修饰符如下: 

修饰符描述示例
%C年除以100并截断为整数(00-99)20
%d月中的一天,零填充(01-31)02
%D短MM/DD/YY日期,相当于%m/%d/%y01/02/2018
%e月中的一天,空格填充(1-31)2
%F短YYYY-MM-DD日期,相当于%Y-%m-%d2018-01-02
%GISO周号的四位数年份格式, 从基于周的年份由ISO 8601定义 标准计算得出,通常仅对%V有用2018
%g两位数的年份格式,与ISO 8601一致,四位数表示法的缩写18
%H24小时格式(00-23)22
%I小时12h格式(01-12)10
%j一年(001-366)002
%m月份为十进制数(01-12)01
%M分钟(00-59)33
%n换行符(") 
%pAM或PM指定PM
%R24小时HH:MM时间,相当于%H:%M22:33
%S分钟(00-59)44
%t水平制表符(’) 
%TISO8601时间格式(HH:MM:SS),相当于%H:%M:%S22:33:44
%uISO8601平日as编号,星期一为1(1-7)2
%VISO8601周编号(01-53)01
%w周日为十进制数,周日为0(0-6)2
%y年份,最后两位数字(00-99)18
%Y2018
%%%符号%

参考:https://clickhouse.tech/docs/en/sql-reference/functions/date-time-functions/#formatdatetime

最后

以上就是辛勤大山为你收集整理的ClickHouce formatDateTime() 函数的全部内容,希望文章能够帮你解决ClickHouce formatDateTime() 函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部