2014-09-04 24 views
1

我试图将名为A的列与"YYYY/MM/DD" varchar(已插入的数据)转换为"YYYY-MM-DD"日期。作为一个例子,我需要1987/12/23(varchar列)数据结束1987-12-23(日期列),可能使用UPDATE和REPLACE。替换MySQL中的字符varchar

+2

你的意思是['REPLACE()'](http://dev.mysql.com/doc/refman/5.6/en/string- functions.html#function_replace)函数? – tadman 2014-09-04 19:51:24

回答

1

尝试这样:

UPDATE table 
    SET A = replace(A, '/', '-') 
    WHERE A LIKE '____/__/__'; 
+0

非常感谢,它的工作就像一个魅力!(PS。Multumesc,上午估计RO) – Blueleaf 2014-09-04 20:08:06

+0

如果现在列的数据像DD-MM-YYYY VARCHAR,我需要YYYY-MM --DD日期?再次感谢! – Blueleaf 2014-09-04 20:30:54

+0

你可以提出另一个问题,因为其他人可能会感兴趣。我会给你一个提示,然后让你在UPDATE语句中进行转换。 ('10 -23-1990',4),“ - ”,SUBSTRING('10 -23-1990',4,2),“ - ”,LEFT('10 -23-1990' ,2)) FROM DUAL' – 2014-09-04 20:49:48

1

正如tadman指出的那样,您可以使用REPLACE功能。

UPDATE `table` SET `A`=REPLACE(`A`,'/','-')