MySQL默认的日期格式是'2019-05-06
',这没问题,但当我向表中插入日期时,我想要的格式是2019-5-6
而不是上述格式。
这意味着月份和日期必须以1到30开始,而不是01到31。有没有办法在我的 MySQL 中更改默认格式?
MySQL默认的日期格式是'2019-05-06
',这没问题,但当我向表中插入日期时,我想要的格式是2019-5-6
而不是上述格式。
这意味着月份和日期必须以1到30开始,而不是01到31。有没有办法在我的 MySQL 中更改默认格式?
STR_TO_DATE
函数:
它接受一个字符串
str
和一个格式字符串format
。如果格式字符串包含日期和时间部分,则STR_TO_DATE()
返回一个DATETIME
值,如果字符串仅包含日期或时间部分,则返回DATE
或TIME
值。
因此,如果您的应用程序中的日期格式为'2019-5-6'
,则需要将其转换为MySQL日期:
STR_TO_DATE('2019-5-6', '%Y-%c-%e')
INSERT INTO mytable VALUES(1, STR_TO_DATE('2019-5-6', '%Y-%c-%e'));
%Y
:4位数的年份值%c
:数字月份名称(0到12)%e
:月份中的日期作为数字值(0到31)在MySQL数据库中存储日期的默认方式是使用DATE。 DATE的正确格式为:YYYY-MM-DD。如果您尝试以年-月-日格式以外的格式输入日期,则可能会起作用,但它不会按您期望的方式存储日期。
为了运行MySQL插入命令并将当前日期添加到您的表中,您可以在查询中使用MySQL内置函数CURDATE()。
以下是使用CURDATE在MySQL中插入日期的示例:
$query_auto = "INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE()', CURDATE() )";
此外,你可以运行一个查询手动设置日期
如何在MySQL中手动插入日期的示例
$query_manual = "INSERT INTO tablename (col_name, col_date) VALUES ('DATE: Manual Date', '2008-7-04')";
SELECT DATE_FORMAT(BirthDate, "%W %M %e %Y") FROM Employees;
您可以在这里找到更多有关日期格式的示例: https://www.w3schools.com/sql/func_mysql_date_format.asp
INSERT INTO t(i,d) VALUES(1, '2019-5-6')
演示 - Lukasz Szozdadate_time
格式是从哪里来的?它是从系统中获取数据吗? - A.A Noman