Mysql 月数到月名的转换
Mysql month number to month name conversion
我的专栏中有像“22018”这样的月份值我需要它,比如 mysql workbench
中的 Feb-2018
您需要先从日期中提取月份(考虑到它会有一位或两位数字),例如:
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');
我的专栏中有像“22018”这样的月份值我需要它,比如 mysql workbench
中的 Feb-2018您需要先从日期中提取月份(考虑到它会有一位或两位数字),例如:
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');