zoukankan      html  css  js  c++  java
  • 【MySQL】日期与字符串间的相互转换

    字符串转日期

    下面将讲述如何在MySQL中把一个字符串转换成日期:

    背景:rq字段信息为:20100901

    1. 无需转换的:

       SELECT * FROM tairlist_day WHERE rq>'2010-07-31' AND rq<'2010-09-01'
      
    1. 使用:DATE_FORMAT

       SELECT * FROM tairlist_day WHERE DATE_FORMAT( rq, '%Y-%m-%d')>'2010-08-01' AND DATE_FORMAT( rq, '%Y-%m-%d')<'2010-08-03'
      

    其中第1要在一个“宽松”的语法是被允许的:以任何标点符号作为日期部分和时间部分中的定界符,如:
    一个 YYYYMMDD 或 YYMMDD 格式的数字,只要数字看起来像是一个日期。例如,19830905 和 830905 被解释成为 '1983-09-05 '。

    建议使用第2种

    日期转字符串

    mysql> select date_format(now(),'%Y');
    +-------------------------+
    | date_format(now(),'%Y') |
    +-------------------------+
    | 2009                    |
    +-------------------------+
    1 row in set (0.00 sec)
    
    扩展:
    
    %Y:年 %c:月 %d:日 %H:小时  %i:分钟 %s:秒
    
    mysql> select date_format(now(),'%Y-%c-%d %h:%i:%s');
    +----------------------------------------+
    | date_format(now(),'%Y-%c-%d %h:%i:%s') |
    +----------------------------------------+
    | 2009-8-07 06:59:40                     |
    +----------------------------------------+
    1 row in set (0.00 sec)
    

    当然最方便的方法是使用客户端Navicat, 直接更改字段类型,即可实现字符串与日期类型的转换。

    参考

  • 相关阅读:
    [树形DP]Luogu P1131 [ZJOI2007]时态同步
    [状压DP]JZOJ 1303 骑士
    [DFS]JZOJ 1301 treecut
    [最小费用最大流]JZOJ 4802 探险计划
    [KMP][倍增求LCA]JZOJ 4669 弄提纲
    [DP]JZOJ 1758 过河
    列表生成式和生成器表达式
    协程函数
    生成器
    迭代器
  • 原文地址:https://www.cnblogs.com/nju2014/p/5511284.html
Copyright © 2011-2022 走看看