【问题标题】:How can I concat month column and year column to yearmonth column如何将月列和年列连接到年月列
【发布时间】:2020-12-21 20:27:45
【问题描述】:

我有一个包含列(月、年和年月)的 SQL 表

Month    year    
 5       2020
 6       2020
 11      2020

我想以这种格式插入年月列值

yearmonth
   202005
   202006
   202011

我尝试了几个 Datetime 函数,但都不起作用。

【问题讨论】:

  • 继续。尝试一下。
  • 您是否考虑过使用concat() 函数来连接事物?
  • 是的,我尝试了 contat()。但它加起来的价值。我没有得到 YYYYMM 格式。 @mustaccio

标签: mysql sql string datetime


【解决方案1】:

我认为使用字符串函数更简单:

select t.*, concat(year, lpad(month, 2, '0')) as yearmonth
from mytable t

lpad() 在需要时将“缺失”0 添加到月份部分,然后您可以将其与年份连接起来。

另一方面,如果您想要一个数字结果,那么算术是可行的方法:

select t.*, year * 100 + month as yearmonth
from mytable t

【讨论】:

  • 效果很好。以前没有关于lpad的。我很感激你的时间。谢谢。
  • 欢迎@NikhilGarakapati。如果我的回答正确地回答了您的问题,请点击复选标志accept it...谢谢。
【解决方案2】:

如果你想要一个字符串,我可以使用:

select cast(year * 100 + month as char)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 2013-02-12
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    相关资源
    最近更新 更多