我有一个日期字段(tinytext),其格式为"dd-mm-yy",例如07-01-90.使用mysql查询我想将其更改为yyyy-mm-dd日期格式.我尝试了下面的代码,但没有任何反应.
mysql_query("UPDATE Table SET date=STR_TO_DATE('date','%Y,%m,%d')");
Run Code Online (Sandbox Code Playgroud)
你正在使用正确的函数STR_TO_DATE(str,format)来实现目标,但是你犯了两个错误:
format参数与字符串表达式格式不匹配.dd-mm-yy当你把%Y,%m,%d(逗号分隔)传递给format参数时,你说它是格式的.查询将返回"不正确的日期时间值"错误.你应该用%d-%m-%Y.所以,总结一下:
mysql_query("UPDATE `Table` SET `date` = STR_TO_DATE(`date`, '%d-%m-%Y')");
mysql_query("ALTER TABLE `Table` CHANGE COLUMN `date` `date` DATE");
Run Code Online (Sandbox Code Playgroud)
此外,请考虑切换到建议的PDO扩展,以代替旧的和缓慢弃用的 mysql扩展.
您的查询出错
是STR_TO_DATE(日期,'%Y-%m-%d')
mysql_query("UPDATE Table SET date=STR_TO_DATE(date,'%Y-%m-%d')");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44076 次 |
| 最近记录: |