如何在mysql中修改日期格式

s6fujrry  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(407)

我的sql中的默认日期格式是:' 2019-05-06 “这很好,但当我在表中插入日期时,我需要这种格式 2019-5-6 不是上述格式
这意味着月份和日期必须从1到30开始,而不是从01到31。有没有办法更改我的sql中的默认格式?

jv4diomz

jv4diomz1#

你好像在找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 声明:

INSERT INTO mytable VALUES(1, STR_TO_DATE('2019-5-6', '%Y-%c-%e'));

提示: %Y :以4位数字值表示的年份 %c :数字月份名称(0到12) %e :以数字值(0到31)表示的月份日期

jjhzyzn0

jjhzyzn02#

在mysql数据库中存储日期的默认方法是使用date。日期的正确格式为:yyyy-mm-dd。如果您尝试以年-月-日格式以外的格式输入日期,则该格式可能会起作用,但不会像您所期望的那样存储日期。
为了运行mysql insert命令并将当前日期添加到表中,可以在查询中使用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

相关问题