很长一段时间,我的客户想要将日期时间字段更改为varchar字段,经过数小时告诉他们为什么不应该这样做,我终于放弃了。
我的问题是现在转换为VARCHAR的日期是yyyy-mm-dd
,我需要将它们翻转到mm-dd-yyyy
我可以使用带有foreach()
循环和{{1}的PHP来执行此操作但有没有办法用sql查询呢?
答案 0 :(得分:2)
您可以使用DATE_FORMAT
:
UPDATE your_table SET your_varchar = DATE_FORMAT(your_varchar ,'%m-%d-%Y')
有关更多信息,请参阅MySQL文档:DATE_FORMAT
答案 1 :(得分:0)
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)
答案 2 :(得分:0)
您可以使用:
SELECT CAST(DATE_FORMAT(dateColumn, '%m-%d-%Y') AS CHAR(10));