如何将varchar字段转换为日期
问题描述:
我有一个dob属性,它是一个varchar。部分日期以2017/6/6格式存储,部分日期格式为2017-06-06。如何将6/6/2017格式的数据转换为2017-06-06并将dob字段设置为DATE数据类型?如何将varchar字段转换为日期
答
如果您想要通过如果你只是想要使用此查询
UPDATE TABLE tbl_name set format_dob= STR_TO_DATE(yourdatefield, '%d/%m/%Y')
到d/M/YYYY日期YYYY-MM-DD转换永久然后add_new其列DATE数据类型和更新列值计算列然后只需使用
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y') FROM tbl_name
答
您的查询,你可以这样写:
UPDATE table_name
SET column1=DATE(STR_TO_DATE(column1, '%Y-%m-%d'))
WHERE column1='"'.date('%d/%m/%Y',strtotime(column1)).'"'
并设置VARCHAR最新数据类型可以使用convert函数或写,如:
SET DATEFORMAT dmy
答
首先更新现有的使用适当的日期格式(YYYY-MM-DD)列
UPDATE tbl_name SET dob = STR_TO_DATE(dob,'%d/%m/%Y')
WHERE STR_TO_DATE(dob,'%d/%m/%Y') IS NOT NULL;
一旦Update
是完成ALTER
列到DATE
数据类型
ALTER TABLE tbl_name MODIFY `dob` DATE NOT NULL DEFAULT '0000-00-00';
我得到查询错误。 – Steve