我的sql中的默认日期格式是:' 2019-05-06 “这很好,但当我在表中插入日期时,我需要这种格式 2019-5-6 不是上述格式这意味着月份和日期必须从1到30开始,而不是从01到31。有没有办法更改我的sql中的默认格式?
2019-05-06
2019-5-6
jv4diomz1#
你好像在找mysql STR_TO_DATE 功能:它需要一根绳子 str 和格式字符串 format . STR_TO_DATE() 返回一个 DATETIME 如果格式字符串同时包含日期和时间部分,或 DATE 或者 TIME 值,如果字符串仅包含日期或时间部分。所以如果你申请的日期是 '2019-5-6' ,要将其转换为您需要的mysql日期:
STR_TO_DATE
str
format
STR_TO_DATE()
DATETIME
DATE
TIME
'2019-5-6'
STR_TO_DATE('2019-5-6', '%Y-%c-%e')
在一个 INSERT 声明:
INSERT
INSERT INTO mytable VALUES(1, STR_TO_DATE('2019-5-6', '%Y-%c-%e'));
提示: %Y :以4位数字值表示的年份 %c :数字月份名称(0到12) %e :以数字值(0到31)表示的月份日期
%Y
%c
%e
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
2条答案
按热度按时间jv4diomz1#
你好像在找mysql
STR_TO_DATE
功能:它需要一根绳子
str
和格式字符串format
.STR_TO_DATE()
返回一个DATETIME
如果格式字符串同时包含日期和时间部分,或DATE
或者TIME
值,如果字符串仅包含日期或时间部分。所以如果你申请的日期是
'2019-5-6'
,要将其转换为您需要的mysql日期:在一个
INSERT
声明:提示:
%Y
:以4位数字值表示的年份%c
:数字月份名称(0到12)%e
:以数字值(0到31)表示的月份日期jjhzyzn02#
在mysql数据库中存储日期的默认方法是使用date。日期的正确格式为:yyyy-mm-dd。如果您尝试以年-月-日格式以外的格式输入日期,则该格式可能会起作用,但不会像您所期望的那样存储日期。
为了运行mysql insert命令并将当前日期添加到表中,可以在查询中使用mysql的内置函数curdate()。
使用curdate在mysql中插入日期的示例
此外,您还可以运行查询来手动设置日期
如何在mysql中手动插入日期的示例
建议在执行查询时设置日期格式,例如:
您可以在此处找到更多格式化日期的示例:https://www.w3schools.com/sql/func_mysql_date_format.asp