我在列中具有像" 22018"的月价值,我需要像2018年2月 - MySQL WorkBench
您需要首先提取日期的月份(考虑到它将有一两个数字),例如:
SELECT LPAD(SUBSTRING('22018', 1, LENGTH('22018') - 4), 2, '0');
这将为您提供02
。现在,您可以使用类似的逻辑提取年份,例如:
SELECT SUBSTRING('22018', LENGTH('22018') - 4 + 1, LENGTH('22018'));
最后,您可以加入所有这些以获得2018-02-01
:
SELECT CONCAT(SUBSTRING('22018', LENGTH('22018') - 4 + 1, LENGTH('22018')),
'-',
LPAD(SUBSTRING('22018', 1, LENGTH('22018') - 4), 2, '0'), '-01');
完成此操作后,您可以使用DATE_FORMAT
函数获取所需的输出:
SELECT DATE_FORMAT(CONCAT(SUBSTRING('22018', LENGTH('22018') - 4 + 1,
LENGTH('22018')),
'-',
LPAD(SUBSTRING('22018', 1, LENGTH('22018') - 4), 2, '0'), '-01'), '%M-%Y');