如何将字符串值转换为日期格式

时间:2018-04-21 10:58:09

标签: mysql sql

这是我的字符串值20180421

我想将此值转换为2018/04/21

这里是我的代码

$querya="SELECT STR_TO_DATE('$date','%m/%d/%Y');";

但我没有改变我的字符串

1 个答案:

答案 0 :(得分:1)

您的格式已采用ISO格式,因此您只需使用date()进行转换:

select date(?)

也可以使用str_to_date(),但您需要使用正确的格式:

$querya = "SELECT STR_TO_DATE(?, '%Y%m%d')";

请注意?的使用。这是一个参数占位符,表示您应该将值作为参数而不是作为变量传递。

我应该指出2018/04/21是一种特殊的格式。日期以内部格式存储。要获取特定的输出格式,您需要将它们转换为字符串。这是一个解决方案:

select date_format(date(?), '%Y/%m/%d')

date()函数是可选的,因为MySQL会正确地将此字符串转换为日期,因此您也可以使用:

select date_format(?, '%Y/%m/%d')