在mysql中将月份名和年份的列转换为格式为yyyymm的整数

amrnrhlw  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(577)

我有一个类似于下一个的日期列存储为 VARCHAR (不是 DATE 我想把它转换成 INTEGER 键入下一格式: YYYYMM . 例如,如果这是我的示例数据:

  1. period
  2. "January 2018"
  3. "February 2018"
  4. "March 2018"

我想得到下一个整数:

  1. result
  2. 201801
  3. 201802
  4. 201803

我尝试了下一个代码:

  1. select
  2. period,
  3. str_to_date(period, '%M %Y') as yearperiod
  4. from
  5. table

但这给了,例如, 2018-01-00 要转换为整数的格式 201801 .

aurhwmvo

aurhwmvo1#

您可以使用下一个mysql方法序列来实现这一点:
(1) 先申请 STR_TO_DATE(period, '%M %d %Y') .
(2) 然后申请 DATE_FORMAT(<previous_result>, "%Y%m") 上一个结果。
(3) 最后使用 CONVERT(<previous_result>, UNSIGNED) 对上一个结果进行整数转换。
下一个示例显示了这一点:

  1. SELECT
  2. period,
  3. CONVERT(
  4. DATE_FORMAT(
  5. STR_TO_DATE(period, '%M %d %Y'),
  6. "%Y%m"
  7. ),
  8. UNSIGNED
  9. ) AS yearAndPeriod
  10. FROM
  11. <table_name>

此外,您可以在此处查看:
小提琴

展开查看全部

相关问题