0
我有一個生日和它的varchar類型的列,我想更改爲日期並添加全年,而不是隻有2位數字。在MySQL中更新全年的生日
如果某人出生於05061985 MySQL的刪除第一個0和顯示爲50685
更改50685
要==> 05061985
所有用戶的生日,從1900至1999年
我有一個生日和它的varchar類型的列,我想更改爲日期並添加全年,而不是隻有2位數字。在MySQL中更新全年的生日
如果某人出生於05061985 MySQL的刪除第一個0和顯示爲50685
更改50685
要==> 05061985
所有用戶的生日,從1900至1999年
讓我們做一步一步
我們可以用len 5或6的字符串,所以我們確保我們有一個len 6字符串左填充0零
select LPAD('50685', 6, '0');
現在我們插入了「19」的第四和第五的位置
select CONCAT(LEFT(LPAD('50685', 6, '0'), 4), '19', RIGHT(LPAD('50685', 6, '0'), 2));
之間的串現在,我們要更新表FOOBAR的所有BIRTHDAY領域的最後一步
update FOOBAR set BIRTHDAY=CONCAT(LEFT(LPAD(BIRTHDAY, 6, '0'), 4), '19', RIGHT(LPAD(BIRTHDAY, 6, '0'), 2));
反正在這種情況下,你仍然有一個字符串字段,我建議修改的格式更是做一個適當的日期字段轉換,像YYYY-MM-DD
update FOOBAR set BIRTHDAY=LPAD(BIRTHDAY, 6, '0');
update FOOBAR set BIRTHDAY=CONCAT('19' ,
RIGHT(BIRTHDAY, 2),
'-',
SUBSTR(BIRTHDAY, 3, 2),
'-',
LEFT(BIRTHDAY, 2));
alter table FOOBAR modify BIRTHDAY date;
從右邊分割爲2作爲每個大小,然後在最後加上19,如果日期大小小於2,則爲0然後追加0 – Naruto
真的我不明白,你能告訴我怎麼做? – Alex
你的問題是什麼? – SunSparc