• MySQL、SQL Server、Hive对时间格式化


    MySQL时间格式化

    date_format()
    这个函数是比较常用的

    select  date_format('2022-08-01',''%Y-%m-%d %H:%i:%s')
    
    • 1

    在这里插入图片描述
    TIME_FORMAT()
    只接受小时、分钟、秒和微秒的格式说明符

    格式化的参数解释

    格式解释
    %Y日期年份4位,如:2022
    %y日期年份2位,2022表示:22
    %M月名,如:8月,August
    %m月,数值(01-12) ,如8月,08
    %c月,数值(1-12),如8月,8
    %e月的天,数值(0-31)
    %D带有英文前缀的月中的天,如1号,1st
    %d月的天,数值(01-31),如1号,01
    %H小时 (00-23),24小时制
    %k小时 (01-24),24小时制
    %h小时 (01-12),12小时制
    %I小时 (01-12),12小时制
    %pAM或者PM
    %i分钟,数值(00-59)
    %S秒(00-59)
    %s秒(00-59)
    %f微秒
    %r时间,12-小时(hh:mm:ss AM 或 PM)
    %T时间, 24-小时 (hh:mm:ss)
    %U周 (00-53) 星期日是一周的第一天
    %u周 (00-53) 星期一是一周的第一天
    %V周 (01-53) 星期日是一周的第一天,与 %X 使用
    %v周 (01-53) 星期一是一周的第一天,与 %x 使用
    %W星期名
    %w周的天 (0=星期日, 6=星期六)
    %X年,其中的星期日是周的第一天,4 位,与 %V 使用
    %x年,其中的星期一是周的第一天,4 位,与 %v 使用
    %a缩写星期名
    %b缩写月名

    SQL Server时间格式化

    Convert(nvarchar(10),count_time,121)
    CONVERT为日期转换函数,一般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
    相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式

    select convert(varchar(10),getdate(),23)
    
    • 1

    在这里插入图片描述
    参数解释:

    格式解释
    0 or 100mm d yyyy hh:mm AM(或PM) ,不带’10’年份只有两位
    1 or 101mm/dd/yyyy ,不带’10’年份只有两位
    2 or 102yyyy-mm-dd ,不带’10’年份只有两位
    3 or 103dd/mm/yyyy ,不带’10’年份只有两位
    4 or 104dd-mm-yyyy ,不带’10’年份只有两位
    5 or 105dd-mm-yyyy ,不带’10’年份只有两位
    6 or 106dd mm yyyy ,不带’10’年份只有两位
    7 or 107mm dd,yyyy ,不带’10’年份只有两位
    8 or 108hh:mm:ss ,不带’10’年份只有两位
    9 or 109mm dd yyyy hh:mi:ss:mmmm AM(或PM) ,不带’10’年份只有两位
    10 110mm-dd-yyyy,不带’1’年份只有两位
    11 111yyyy/mm/dd,不带’1’年份只有两位
    12 112yyyymmdd,不带’1’年份只有两位
    13 or 113dd mon yyyy hh:mm:ss:mmm(24小时制),不带’1’年份只有两位
    14 114hh:mm:ss:mmm(24小时制),不带’1’年份只有两位
    20 or 120yyyy-mm-dd hh:mm:ss(24小时制),不带’1’年份只有两位
    21 or 121yyyy-mm-dd hh:mm:ss:mmm(24小时制),不带’1’年份只有两位
    23yyyy-mm-dd

    常用的几个参数

    Select CONVERT(varchar(100), GETDATE(), 8): 18:05:30
    Select CONVERT(varchar(100), GETDATE(), 24): 18:05:30
    Select CONVERT(varchar(100), GETDATE(), 108): 18:05:30
    Select CONVERT(varchar(100), GETDATE(), 12): 220801
    Select CONVERT(varchar(100), GETDATE(), 23): 2022-08-01
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Hive时间格式化

    date_format()
    语法:date_format(date/timestamp/string ts, string fmt)
    具体格式可以自定义,与Java的SimpleDateFormat差不多。
    Java SimpleDateFormat 实现日期格式化

    字母含义示例
    y年份一般用 yy 表示两位年份,yyyy 表示 4 位年份使用 yy 表示的年扮,如 11;使用 yyyy 表示的年份,如 2011
    M月份。一般用 MM 表示月份,如果使用 MMM,则会根据语言环境显示不同语言的月份使用 MM 表示的月份,如 05;使用 MMM 表示月份,在 Locale.CHINA语言环境下,如“十月”;在 Locale.US语言环境下,如 Oct
    d月份中的天数。一般用 dd 表示天数使用 dd 表示的天数,如 10
    D年份中的天数。表示当天是当年的第几天, 用 D 表示使用 D 表示的年份中的天数,如 295
    E星期几。用 E 表示,会根据语言环境的不同, 显示不同语言的星期几使用 E 表示星期几,在 Locale.CHINA 语言环境下,如“星期四”;在Locale.US 语言环境下,如 Thu
    H一天中的小时数(0~23)。一般用 HH 表示小时数使用 HH 表示的小时数,如 18
    h一天中的小时数(1~12)。一般使用 hh 表示小时数使用 hh 表示的小时数,如 10 (注意 10 有可能是 10 点,也可能是 22 点)
    m分钟数。一般使用 mm 表示分钟数使用 mm 表示的分钟数,如 29
    s秒数。一般使用 ss 表示秒数使用 ss 表示的秒数,如 38
    S毫秒数。一般使用 SSS 表示毫秒数使用 SSS 表示的毫秒数,如 156
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class DateDemo {
        public static void main(String[] args) throws Exception {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            System.out.println(sdf.format(new Date()));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    结果:
    在这里插入图片描述

    Hive date_format()日期格式化示例

    select date_format(current_timestamp(),'yyyy/MM/dd') as df1,date_format(current_timestamp(),'yyyy-MM-dd') as df2
    
    • 1

    结果:
    在这里插入图片描述

  • 相关阅读:
    systemverilog 过程控制语句
    [Git CLion] 规范Commit格式
    【编解码格式】Sorenson系列
    9、IOC 之基于注释的容器配置
    C++ 2019-2022 CSP_J 复赛试题横向维度分析(上)
    实验1 线性回归 实操项目1——糖尿病情预测
    librispeech 的train-clean-100--简单记录笔记
    浅析RSA非对称加密算法
    Windows与网络基础-12-13-NTFS文件及文件夹权限
    为什么要有包装类,顺便说一说基本数据类型、包装类、String类该如何转换?
  • 原文地址:https://blog.csdn.net/weixin_42804692/article/details/126102343