这是我的字符串值20180421
我想将此值转换为2018/04/21
这里是我的代码
$querya="SELECT STR_TO_DATE('$date','%m/%d/%Y');";
但我没有改变我的字符串
答案 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')