繁体   English   中英

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');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM