【问题标题】:DATEFORMAT() in MYSQLMYSQL 中的日期格式()
【发布时间】:2016-03-29 04:16:01
【问题描述】:

我想在表格中插入一些特定的值。但是,我不能在我的表中添加日期。可以轻松添加其他值。我使用了这个查询

INSERT INTO `student` (`bdate`) VALUES ('30.05.1992');

我需要以这种格式添加。我尝试使用DATE_FORMAT('30.05.1992','%d.%m.%y') 它也没有帮助。

【问题讨论】:

  • 您忘记了 DATE_FORMAT 的第二个参数的引号。
  • 反其道而行之。使用1992-05-30 等可接受的格式插入bdate,并在读取时格式化数据;)
  • @zyexal 你的意思是acceptedexcepted 正好相反。
  • @Barmar Yes man 固定引号,但对我没有帮助。
  • 函数应该是str_to_date,而不是date_format

标签: mysql mysql-workbench


【解决方案1】:
INSERT INTO `student` (`bdate`) VALUES (STR_TO_DATE('30.05.1992', '%d.%m.%Y'));

【讨论】:

  • bdate 的类型是什么?
  • @Soulmaster 因为您有语法错误,请参阅我上面的评论。
  • @mmuzahid , bdate 的类型是日期
  • %y 应该是 %Y,因为它是 4 位数的年份。
  • @Soulmaster :据我所知,您无法更改数据库级别的日期字段格式。只需要在需要显示时更改即可。
【解决方案2】:

如果您的字段类型是日期,那么您只能以 yyyy-mm-dd 格式插入数据,即使在获取数据时您也可以将其转换为您自己的格式。

如果您想以自己的格式插入日期,那么您可以使用 varchar 数据类型,即使在获取数据时它也不会被优化并且您会变得缓慢。

【讨论】:

【解决方案3】:

应该是

INSERT INTO `student` (`bdate`) VALUES (STR_TO_DATE('30.05.1992', '%d.%m.%Y'));

因为年份是 1992 的 4 位数,所以应该是 %Y

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 2011-10-20
    • 2011-07-19
    • 2013-12-24
    • 2023-03-29
    • 2012-07-04
    • 2022-09-30
    • 2011-07-05
    相关资源
    最近更新 更多