Mysql 使用格式更改日期格式

Mysql 使用格式更改日期格式,mysql,sql,date,date-format,Mysql,Sql,Date,Date Format,我的数据库中的日期存储为varchars,格式为:dd/mm/yyyy,例如2015年1月3日 我正在尝试将格式更改为yyyy/mm/dd,以便将它们转换为时间戳 当我尝试这个: SELECT FORMAT (date, 'dd/mm/yyyy', 'yyyy/mm/dd' ) AS t FROM tracker; 每个记录只返回一个数字,恰好是当天。因此,如果我在以下日期运行查询:2015年2月3日和2014年6月2日,那么查询将返回2和6 如何使其返回正确的格式?要以特定格式输出日期时间&

我的数据库中的日期存储为varchars,格式为:dd/mm/yyyy,例如2015年1月3日

我正在尝试将格式更改为yyyy/mm/dd,以便将它们转换为时间戳

当我尝试这个:

SELECT FORMAT (date, 'dd/mm/yyyy', 'yyyy/mm/dd' ) AS t FROM tracker;
每个记录只返回一个数字,恰好是当天。因此,如果我在以下日期运行查询:2015年2月3日和2014年6月2日,那么查询将返回2和6


如何使其返回正确的格式?

要以特定格式输出
日期时间
&
时间戳
,可以使用该函数

它的工作原理如下:

SELECT DATE_FORMAT(my_date_field, '%Y-%m-%d %H:%M') FROM my_table
顺便提一下,将格式指定为
“%Y/%m/%d”
将使日期字段显示为1999/12/31


要在时间戳中输出datetime值,请使用函数

要以特定格式输出
日期时间
&
时间戳
,您可以使用该函数

它的工作原理如下:

SELECT DATE_FORMAT(my_date_field, '%Y-%m-%d %H:%M') FROM my_table
顺便提一下,将格式指定为
“%Y/%m/%d”
将使日期字段显示为1999/12/31


要在时间戳中输出datetime值,请使用函数

看起来您在这里使用了错误的MySQL函数。您正在寻找将该日期字符串转换为MySQL可以使用的日期值的方法。然后,您可以使用将其转换为您选择的新日期字符串

SELECT DATE_FORMAT(STR_TO_DATE(date, '%d/%m/%Y'), '%Y/%m/%d') AS t FROM tracker;

看起来您在这里使用了错误的MySQL函数。您正在寻找将该日期字符串转换为MySQL可以使用的日期值的方法。然后,您可以使用将其转换为您选择的新日期字符串

SELECT DATE_FORMAT(STR_TO_DATE(date, '%d/%m/%Y'), '%Y/%m/%d') AS t FROM tracker;

格式
用于数字。你的意思是使用日期格式吗?显然它可以用于日期:。。。。。我尝试从跟踪器中选择日期格式(日期,'yyyy/mm/dd');但它只返回空值all@flodorhlod,您发布的链接特定于Microsoft SQL Server,但问题标记为MySQL。两者都是类似的产品,但在SQL语法和功能上略有不同。还请发布查询结果
从跟踪器限制中选择日期10
&
描述跟踪器
格式
用于数字。你的意思是使用日期格式吗?显然它可以用于日期:。。。。。我尝试从跟踪器中选择日期格式(日期,'yyyy/mm/dd');但它只返回空值all@flodorhlod,您发布的链接特定于Microsoft SQL Server,但问题标记为MySQL。两者都是类似的产品,但在SQL语法和功能上略有不同。请同时发布查询结果
从跟踪器限制中选择日期10
&
描述跟踪器
。如果日期不是标准格式,这是否有效?
'dd/mm/yyyy'
是否不明确?您是对的,必须先将varchar转换为日期,然后才能通过date\u format函数进行渲染。如果日期不是标准格式,这是否有效?
'dd/mm/yyyy'
是否不明确?没错,必须先将varchar转换为日期,然后才能通过date\u format函数进行渲染。