我是一名网页设计师,是php / sql / phpMyAdmin的新手,但学得很快。
我使用以下不正确的格式导入了“Entry_Date”列的数据:(mm / dd / yyyy)我现在需要将其转换为正确的DATE格式/类型。
我已经设置了2列
1)Entry_Date - char(10)
2)New_Date - date
在phpMySql中,在myTable的“SQL”选项卡中,我跑了;
UPDATE myTable(New_Date)
SELECT STR_TO_DATE(Entry_Date,'%m/%d/%Y') as date FROM `myTable`;
我确认SELECT STR_TO_DATE行已成功将字符串转换为DATE,但我无法获取这些值以更新New_Date列(已经使用“0000-00-00”填充。我错过了什么?
答案 0 :(得分:0)
试试这个
SELECT STR_TO_DATE(Entry_Date,'%Y-%m-%d') FROM `myTable`;
或者
SELECT DATE_FORMAT(Entry_Date,'%Y-%m-%d') FROM `myTable`;
编辑:
UPDATE myTable SET New_Date = DATE(DATE_FORMAT(Entry_Date,'%Y-%m-%d')) ;
答案 1 :(得分:0)
我正在使用Linux(Ubuntu 16.04)和MariaDB。
在我的情况下,date
字段数据类型设置为year
。 strYear
是将年份包含为四位数字符串的数据字段。
请执行以下代码。代码是从phpMyAdmin SQL页面运行的。
更新tblBookList
设置BookYear
= STR_TO_DATE(strYear
,'%Y-%m-%d');