zoukankan      html  css  js  c++  java
  • mysql Date类型与String类型转换

    mysql Date类型与String类型转换

    https://blog.csdn.net/kangkangwanwan/article/details/78392724

    1.Date  ——>  String
        使用的函数:DATE_FORMAT(date,format)     date:需要转换的日期       format:格式化的样式

       format样式整理:

            年:  %Y  显示四位 : 2015            %y    只显示后两位  :15

            月:  %M 月份的英文显示:October %m  月份的阿拉伯显示:01-12  %b 月份的英文缩略显示:Oct  %c  月份的阿拉伯显示:1-12

            日:  %d 阿拉伯显示:00-31        %D 带有英文后缀:1st-31th     %e 阿拉伯显示:1-31          %j   年的天:001-366   

            时:  %H :00-23           %h:01-12        %I:01-12      %k:0-23      %l:1-12

            分:   %i:00-59

            秒:   %S:00-59        %s:00-59

            微妙: %f

            AM/PM:%p

            12小时制时间:%r:   02:02:44 PM

            24小时制时间: %T:  14:02:44

             周: %W:周的英文显示      %w 周的阿拉伯显示 :0(星期日)-6(星期六)  %a   周的英文缩略显示:Mon-

        eg:DATE_FORMAT(now(),"%Y-%m-%d %T")   2015-09-01 17:10:52

             DATE_FORMAT(now(),"%Y-%m-%d %H:%i:%s %p")     2015-09-01 17:10:52 PM

    2.String ——>Date
         2.1使用的函数:STR_TO_DATE(str,format)       str:字符形式的日期       format:格式化样式

      eg:   STR_TO_DATE('1992-04-12',"%Y-%m-%d")   输出:1992-04-12(日期形式)

        2.2直接用date(20170101)格式

      eg:start_time BETWEEN date(20170603) AND date(20170604)


    3.mysql的日期类型

    mysql(5.5)所支持的日期时间类型有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。

    几种类型比较如下:

    日期时间类型 占用空间 日期格式 最小值 最大值 零值表示
     DATETIME  8 bytes  YYYY-MM-DD HH:MM:SS
     1000-01-01 00:00:00
    9999-12-31 23:59:59 
    0000-00-00 00:00:00
     TIMESTAMP  4 bytes  YYYY-MM-DD HH:MM:SS  19700101080001
    2038 年的某个时刻
    00000000000000
     DATE  4 bytes
     YYYY-MM-DD 1000-01-01 
    9999-12-31 
    0000-00-00
     TIME  3 bytes
     HH:MM:SS  -838:59:59 838:59:59 
    00:00:00
     YEAR  1 bytes
     YYYY 1901 
    2155 
    0000
     

     DATETIME

         DATETIME 用于表示 年月日 时分秒,是 DATE 和 TIME 的组合,并且记录的年份(见上表)比较长久。如果实际应用中有这样的需求,就可以使用 DATETIME 类型。

     TIMESTAMP

    TIMESTAMP 用于表示 年月日 时分秒,但是记录的年份(见上表)比较短暂。
    TIMESTAMP 和时区相关,更能反映当前时间。当插入日期时,会先转换为本地时区后再存放;当查询日期时,会将日期转换为本地时区后再显示。所以不同时区的人看到的同一时间是  不一样的。
    表中的第一个 TIMESTAMP 列自动设置为系统时间(CURRENT_TIMESTAMP)。当插入或更新一行,但没有明确给 TIMESTAMP 列赋值,也会自动设置为当前系统时间。如果表中有第二个 TIMESTAMP 列,则默认值设置为0000-00-00 00:00:00。
    TIMESTAMP 的属性受 Mysql 版本和服务器 SQLMode 的影响较大。
         如果记录的日期需要让不同时区的人使用,最好使用 TIMESTAMP。

     DATE

        DATE 用于表示 年月日,如果实际应用值需要保存 年月日 就可以使用 DATE。

     TIME

        TIME 用于表示 时分秒,如果实际应用值需要保存 时分秒 就可以使用 TIME。

     YEAR

        YEAR 用于表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 默认是4位。如果实际应用只保存年份,那么用 1 bytes 保存 YEAR 类型完全可以。不但能够节约存储空间,还能提高表的操作效率。

     
    ————————————————
    版权声明:本文为CSDN博主「盛装吾步」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/kangkangwanwan/article/details/78392724

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 黑色星期五
    Java实现 蓝桥杯VIP 算法训练 比赛安排
    Java实现 蓝桥杯VIP 算法训练 比赛安排
    Java实现 蓝桥杯VIP 算法训练 斜率计算
    Java实现 蓝桥杯VIP 算法训练 斜率计算
    Java实现 蓝桥杯VIP 算法训练 整数平均值
    Java实现 蓝桥杯VIP 算法训练 整数平均值
    控件动态产生器(使用RegisterClasses提前进行注册)
    Delphi编写自定义控件以及接口的使用(做了一个TpgDbEdit)
    Log4delphi使用心得
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/14872332.html
Copyright © 2011-2022 走看看