【发布时间】:2019-11-09 05:25:37
【问题描述】:
有没有办法从 mysql 中的月份数中获取月份短名称? 例如:如果我给 3,我需要得到 Mar。
【问题讨论】:
-
MONTHNAME(STR_TO_DATE(3, '%m')),我使用了这个,但是它给出了月份的全名。但是,我想要简称
-
@banalaramu 使用 substring() 和 str_to_date()。
标签: mysql
有没有办法从 mysql 中的月份数中获取月份短名称? 例如:如果我给 3,我需要得到 Mar。
【问题讨论】:
标签: mysql
【讨论】:
使用以下功能:
月号:MONTH()
月份名称:MONTHNAME()
你应该使用monthname()函数。
【讨论】:
根据手册,'%b' 可以满足您的需求
【讨论】:
有几个选项可以检索它,date_format 就是其中之一,但这取决于您尝试实现的具体方式和内容。 我建议你看看 MySQL Date 文档:
https://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html
【讨论】:
SELECT DATE_FORMAT('2013-12-01' + INTERVAL n MONTH, '%b') As Month_Name
将n 更改为月份。
【讨论】:
n 更改为您的整数值。
你好,这应该回答你的问题
SELECT left(MONTHNAME(STR_TO_DATE(1, '%m')),3) from dual
dual 在我们不想引用 mysql 中的表而只想执行查询时使用欺骗表。
【讨论】:
SELECT MONTHNAME(CONCAT(your_column)) as month from table_name;
【讨论】:
我知道这个问题已经过时了,但今天发现它很相关。
解决方案:
SELECT DATE_FORMAT(CONCAT(YEAR(NOW()),'-',LPAD( myMonthInteger ,2,'0'),'-01'),'%b')
将 myMonthInteger 值更改为您的列名或月份索引值 (1-12)。其他值返回 NULL。
为 myMonthInteger 使用 OP 值为“3”的示例:
SELECT DATE_FORMAT(CONCAT(YEAR(NOW()),'-',LPAD( 3,2,'0'),'-01'),'%b')
返回“三月”
解释:
LPAD( myMonthInteger ,2,'0')
如果需要,将前导零添加到月份整数。
CONCAT(YEAR(NOW()),'-',LPAD( myMonthInteger ,2,'0'),'-01')
用当前年份和月份的第一天创建一个有效的 mysql 日期字符串
DATE_FORMAT(CONCAT(YEAR(NOW()),'-',LPAD( myMonthInteger ,2,'0'),'-01'),'%b')
使用 '%b' 类型格式化日期字符串 - 短月份名称
【讨论】: