长话短说,我的一个客户想将日期时间字段更改为 varchar 字段,在告诉他们为什么不应该这样做几个小时后,我终于让步了。
我的问题是现在转换为 VARCHAR 的日期是yyyy-mm-dd
,我需要将它们翻转成mm-dd-yyyy
我可以用 PHP 用foreach()
循环和 alist()=explode()
来做到这一点,但是有没有办法用 sql 查询来做到这一点?
长话短说,我的一个客户想将日期时间字段更改为 varchar 字段,在告诉他们为什么不应该这样做几个小时后,我终于让步了。
我的问题是现在转换为 VARCHAR 的日期是yyyy-mm-dd
,我需要将它们翻转成mm-dd-yyyy
我可以用 PHP 用foreach()
循环和 alist()=explode()
来做到这一点,但是有没有办法用 sql 查询来做到这一点?
您可以使用DATE_FORMAT
:
UPDATE your_table SET your_varchar = DATE_FORMAT(your_varchar ,'%m-%d-%Y')
有关更多信息,请参阅 MySQL 文档:DATE_FORMAT
SELECT
SUBSTRING(date_to_change,9,2) + '-' + SUBSTRING(date_to_change,6,2) + '-' + SUBSTRING(date_to_change,1,4)
...
看看那是不是你要找的。
道歉 - 忘记添加它的其余部分。
UPDATE
table_to_update
SET
date_to_change = SUBSTRING(date_to_change,9,2) + '-' + SUBSTRING(date_to_change,6,2) + '-' + SUBSTRING(date_to_change,1,4)
你可以使用这个:
SELECT CAST(DATE_FORMAT(dateColumn, '%m-%d-%Y') AS CHAR(10));