Mysql 如何更正SQL表中的日期值?
我正在尝试修复SQL表中某列的顺序问题。该列有日期,但类型为Mysql 如何更正SQL表中的日期值?,mysql,sql,database,algorithm,Mysql,Sql,Database,Algorithm,我正在尝试修复SQL表中某列的顺序问题。该列有日期,但类型为varchar,它们的格式为:mm/dd/yy。我没有这样做,我身后的人这样做了,然后离开了 如何将所有条目更改为格式yyyy/mm/dd?一旦我将它们放入这种格式,我将创建一个类型为date的新列,我将转换所有值并将它们放入其中。我的问题是,我应该使用哪个命令来更改这些日期?它们都在2000年代,所以我可以在所有年份部分中添加“20”。您可以通过字符串操作来实现: update t set col = concat('20',
varchar
,它们的格式为:mm/dd/yy
。我没有这样做,我身后的人这样做了,然后离开了
如何将所有条目更改为格式
yyyy/mm/dd
?一旦我将它们放入这种格式,我将创建一个类型为date
的新列,我将转换所有值并将它们放入其中。我的问题是,我应该使用哪个命令来更改这些日期?它们都在2000年代,所以我可以在所有年份部分中添加“20”。您可以通过字符串操作来实现:
update t
set col = concat('20', right(col, 2), '/', left(col, 5))
where col like '%/%/%'
您可以通过字符串操作来完成此操作:
update t
set col = concat('20', right(col, 2), '/', left(col, 5))
where col like '%/%/%'
这样做,使用:
- 添加一个
列(例如称为date
)newdate
- 执行以下命令:
updatetable SET newdate=STR_TO_DATE(旧日期,%m/%d/%y')代码>
- 测试一下
- 删除旧列,并根据需要重命名新列李>
%y
而不是%y
:小写版本使用两位数年份。这样做,使用:
- 添加一个
列(例如称为date
)newdate
- 执行以下命令:
updatetable SET newdate=STR_TO_DATE(旧日期,%m/%d/%y')代码>
- 测试一下
- 删除旧列,并根据需要重命名新列李>
%y
而不是%y
:小写版本使用两位数年份。使用:
使用: