【问题标题】:MySQL date formats - difficulty Inserting a dateMySQL 日期格式 - 插入日期的困难
【发布时间】:2012-04-12 00:39:39
【问题描述】:

我想进一步回答我昨天问的一个问题,我想知道如何以不同格式查询日期。但现在我正在尝试使用这种方法进行插入(见下文),但我无法让它工作。我检查了手册,但它对初学者不友好!

INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');

【问题讨论】:

  • 单引号'的位置错误
  • 是 -1 票,因为我输入了一个 php 标签……抱歉。那是因为我使用的是 php 变量.. 没想到!

标签: mysql date insert format


【解决方案1】:

将日期放在单引号中并将括号('yes' 之后)移到末尾:

INSERT INTO custorder 
  VALUES ('Kevin', 'yes' , STR_TO_DATE('1-01-2012', '%d-%m-%Y') ) ;
                        ^                                     ^
---parenthesis removed--|                and added here ------|

但您始终可以使用不带STR_TO_DATE() 函数的日期,只需使用 (Y-m-d) '20120101''2012-01-01' 格式。查看 MySQL 文档:Date and Time Literals

INSERT INTO custorder 
  VALUES ('Kevin', 'yes', '2012-01-01') ;

【讨论】:

  • 感谢您将我指向日期和时间文字章节。现在我明白了,当我将 20120101 或“20120101”插入 MySQL 识别的日期字段时。我认为这是 PHP 的魔法或故障。
【解决方案2】:

看起来你没有正确封装你的字符串。试试这个:

INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');

或者,您可以执行以下操作,但不建议这样做。确保您使用 STR_TO-DATE 这是因为当您开发 Web 应用程序时,您必须将字符串显式转换为日期,这很烦人。使用第一个。

INSERT INTO custorder VALUES ('Kevin','yes'), '2012-01-01';

但是,我不确定上述 SQL 是否有效,您可能希望将日期部分移到括号中。如果您可以提供您遇到的确切错误,我可能会更直接地帮助解决该问题。

【讨论】:

    【解决方案3】:

    mysql插入查询的日期格式为YYYY-MM-DD

    示例:

    INSERT INTO table_name (date_column) VALUE ('YYYY-MM-DD');
    

    【讨论】:

      【解决方案4】:

      自从我遇到这个问题以来,对先前答案的补充:

      如果您真的想在 DATE 列中插入类似 24-May-2005 的内容,可以执行以下操作:

      INSERT INTO someTable(Empid,Date_Joined)
      VALUES
          ('S710',STR_TO_DATE('24-May-2005', '%d-%M-%Y'));
      

      在上面的查询中请注意,如果是May(即:字母月份)格式应该是%M

      注意:我在最新的 MySQL 8.0 版本上尝试过,它可以工作!

      【讨论】:

        【解决方案5】:

        在 PHP 中使用包含日期的字符串类型变量时,该变量必须用单引号括起来:

        $NEW_DATE = '1997-07-15';
        $sql = "INSERT INTO tbl (NEW_DATE, ...) VALUES ('$NEW_DATE', ...)";
        

        【讨论】:

        • 我已经测试过这对于 MySQL 和 SQLite 都是正确的
        猜你喜欢
        • 2013-07-03
        • 1970-01-01
        • 2012-08-20
        • 1970-01-01
        • 2018-02-26
        • 2011-10-13
        • 2014-06-02
        • 2017-12-17
        相关资源
        最近更新 更多