SQL 中怎么改日期格式

SQL 中怎么改日期格式
比如把数字20230601改成日期格式的2023/06/01
把2023/06/01改成数字格式或者文本格式的20230601

数字可以先to_char再转日期
日期可以to_char转字符串

img

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7700295
  • 除此之外, 这篇博客: 关于SQL语言中的函数,你该了解这些中的 2.3 日期型函数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1.SYSDATE

    SELECT SYSDATE FROM DUAL;
    -- 2020年3月19号
    

    在这里插入图片描述
    2.MONTHS_BETWEEN(d1,d2)函数

    SELECT MONTHS_BETWEEN(TO_DATE('20201201','yyyymmdd'),TO_DATE('20200201','yyyymmdd')) FROM DUAL;
    SELECT MONTHS_BETWEEN(TO_DATE('20201201','yyyymmdd'),TO_DATE('20200211','yyyymmdd')) FROM DUAL;
    

    在这里插入图片描述
    3.NEXT_DAY(d,s)函数

     SELECT NEXT_DAY(TO_DATE('20200319','yyyymmdd'),3) FROM DUAL;
     -- 下周星期三的日期
    

    在这里插入图片描述
    4.ROUND(d[,fmt])函数

    SELECT ROUND(TO_DATE('20200319','yyyymmdd'),'yy') FROM DUAL;
    SELECT ROUND(TO_DATE('20200719','yyyymmdd'),'yy') FROM DUAL;
    SELECT ROUND(TO_DATE('20200719','yyyymmdd'),'mm') FROM DUAL;
    SELECT ROUND(TO_DATE('20200715','yyyymmdd'),'mm') FROM DUAL;
    

    在这里插入图片描述
    5.TRUNC(d[,fmt])函数

    SELECT TRUNC(TO_DATE('20200715','yyyymmdd'),'mm') FROM DUAL;
    SELECT TRUNC(TO_DATE('20200715','yyyymmdd'),'yy') FROM DUAL;
    

    在这里插入图片描述

  • 以下回答由chatgpt基于相关博客总结生成:

    可以使用以下SQL语句来修改日期格式:

    将数字格式的日期20230601转换为2023/06/01的文本格式:

    select date_format('20230601','%Y/%m/%d');
    

    将文本格式的日期2023/06/01转换为数字格式的日期20230601:

    select str_to_date('2023/06/01','%Y/%m/%d');
    

    需要注意的是,在使用str_to_date函数时,要按照指定格式输入要转换的日期字符串。而在使用date_format函数时,要在第二个参数中指定想要输出的日期格式。