当前位置 : 主页 > 数据库 > mysql >

SQL中日期与字符串互相转换操作实例

来源:互联网 收集:自由互联 发布时间:2022-12-24
目录 一.Oracle日期和字符串互相转换 1.1 日期转字符串 1.1.1 yyyy年mm月dd日hh24時mi分ss秒 1.1.2 yyyy-mm-dd hh24:mi:ss 1.1.3 yyyyfm-mm-dd hh24:mi:ss 1.1.4 yyyy/mm/dd 1.1.5 yyyymmdd 1.2 字符串转日期 二. SqlServer日
目录
  • 一.Oracle日期和字符串互相转换
    • 1.1 日期转字符串
      • 1.1.1 yyyy年mm月dd日hh24時mi分ss秒
      • 1.1.2 yyyy-mm-dd hh24:mi:ss
      • 1.1.3 yyyyfm-mm-dd hh24:mi:ss
      • 1.1.4 yyyy/mm/dd
      • 1.1.5 yyyymmdd
    • 1.2 字符串转日期
    • 二. SqlServer日期和字符串互相转换
      • 2.1日期转字符串
        • 2.1.1 yyyy/mm/dd
        • 2.1.2 yyyy-mm-dd
        • 2.1.3 yyyymmdd
        • 2.1.4 yyyy-mm-dd hh:mm:ss
        • 2.1.5 yyyy年mm月dd日
      • 2.2 字符串转日期
      • 三.Mysql日期和字符串互相转换
        • 3.1 日期转字符串
          • 3.1.1 yyyy年mm月dd日 hh时ii分ss秒
          • 3.1.2 yyyy-mm-dd hh:ii:ss
        • 3.2 字符串转日期
        • 总结

          一.Oracle日期和字符串互相转换

          1.1 日期转字符串

          1.1.1 yyyy年mm月dd日hh24時mi分ss秒

          手动拼接年月日

          select
                to_char(sysdate, 'yyyy') || '年' 
             || to_char(sysdate, 'mm') || '月' 
             || to_char(sysdate, 'dd') || '日'
             || ' '
             || to_char(sysdate, 'hh24') || '時' 
             || to_char(sysdate, 'mi') || '分' 
             || to_char(sysdate, 'ss') || '秒' 
          from
            dual
          

          ⏹结果

          2021年09月08日

          1.1.2 yyyy-mm-dd hh24:mi:ss

          日期不去掉0,并且以24小时制显示

          select
            to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') 
          from
            dual
          

          ⏹结果

          2021-09-08 11:12:02

          1.1.3 yyyyfm-mm-dd hh24:mi:ss

          日期去掉0,并且以24小时制显示

          select
            to_char(sysdate, 'yyyyfm-mm-dd hh24:mi:ss') 
          from
            dual
          

          ⏹结果

          2021-9-8 11:21:55

          1.1.4 yyyy/mm/dd

          只显示年月日,并且有分隔符

          select
            to_char(sysdate, 'yyyy/mm/dd') 
          from
            dual
          

          ⏹结果

          2021/09/08

          1.1.5 yyyymmdd

          只显示年月日,没有分隔符

          select
            to_char(sysdate, 'yyyymmdd') 
          from
            dual
          

          ⏹结果

          20210908

          1.2 字符串转日期

          使用to_date(‘日期’, ‘格式’)函数,具体格式和to_char()中的格式相同

          select
            to_date('20210908', 'yyyymmdd') 
          from
            dual
          

          ⏹结果

          2021/09/08 0:00:00

          select
            to_date('2021-9-8 11:21:55', 'yyyyfm-mm-dd hh24:mi:ss') 
          from
            dual
          

          ⏹结果

          2021/09/08 11:21:55

          二. SqlServer日期和字符串互相转换

          2.1日期转字符串

          2.1.1 yyyy/mm/dd

          SELECT
            CONVERT(varchar (100), GETDATE(), 111)
          

          ⏹结果

          2021/09/08

          2.1.2 yyyy-mm-dd

          SELECT
            CONVERT(varchar (100), GETDATE(), 23)
          

          ⏹结果

          2021-09-08

          2.1.3 yyyymmdd

          SELECT
            CONVERT(varchar (100), GETDATE(), 112)
          

          ⏹结果

          20210908

          2.1.4 yyyy-mm-dd hh:mm:ss

          SELECT
            CONVERT(varchar (100), GETDATE(), 120)
          

          ⏹结果

          2021-09-08 12:30:33

          2.1.5 yyyy年mm月dd日

          select
              CONVERT(varchar, DATEPART(yy, GETDATE())) + '年' 
            + CONVERT(varchar, DATEPART(mm, GETDATE())) + '月' 
            + CONVERT(varchar, DATEPART(dd, GETDATE())) + '日'

          ⏹结果

          2021年9月8日

          2.2 字符串转日期

          ⭕ CAST(‘字符串日期’ as ‘数据类型-一般为date或者datetime’)

          如果字符串日期并不是合法的日期的话,会报错

          ⭕ TRY_CAST(‘字符串日期’ as ‘数据类型-一般为date或者datetime’)

          尝试将字符串日期转换为日期类型,如果转换失败的话,会返回NULL

          SELECT
            CAST('20200908' as datetime)
          

          ⏹结果

          2020/09/08 0:00:00

          SELECT
            CAST('20200908' as date)
          

          ⏹结果

          2020/09/08

          SELECT 
            TRY_CAST('2021-09-08' as datetime)
          

          ⏹结果

          2021/09/08 0:00:00

          SELECT 
            TRY_CAST('2021/09/08 11:21:55' as datetime)
          

          ⏹结果

          2021/09/08 11:21:55

          三.Mysql日期和字符串互相转换

          参考资料: MySQL中日期时间类型与格式化

          3.1 日期转字符串

          DATE_FORMAT( )函数

          3.1.1 yyyy年mm月dd日 hh时ii分ss秒

          SELECT
          	DATE_FORMAT(NOW(), '%Y年%m月%d日 %H时%i分%s秒' );
          

          ⏹结果

          2021年09月08日 21时04分59秒

          3.1.2 yyyy-mm-dd hh:ii:ss

          SELECT
          	DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
          

          3.2 字符串转日期

          STR_TO_DATE函数

          SELECT
          	STR_TO_DATE('2019年01月17日 19时05分05秒', '%Y年%m月%d日 %H时%i分%s秒');
          

          ⏹结果

          2019-01-17 19:05:05

          总结

          到此这篇关于SQL中日期与字符串互相转换操作的文章就介绍到这了,更多相关SQL日期和字符串互相转换内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

          【本文转自:韩国服务器 https://www.68idc.cn 复制请保留原URL】
          上一篇:SQL如何获取目标时间点或日期的方法实例
          下一篇:没有了
          网友评论