跳到主要内容
版本:6.6.0

取年月的函数

场景

原始数据为例如2019-09-10这样的格式,想要取年月, 即2019-09,该如何处理呢?

推荐方法

  1. 如果是直接在卡片展示的话,最好的方案是在编辑卡片时,把日期里的【月】拖到到维度里即可实现。

image.png

  1. 如果一定要用函数,且对格式没有太多要求的话,可以直接用以下方式:
    但2018年1月会显示成20181
CONCAT(YEAR([日期]),MONTH([日期]))
  1. 如果对格式有要求,可以用case when函数:
case
when length(month([日期])) =1
then CONCAT(year([日期]),'-0',MONTH([日期]))
else CONCAT(year([日期]),'-',MONTH([日期]))
end
  1. 如果是201909这样的格式,那么可用这个写法实现:
YEAR([日期])*100+MONTH([日期])

不推荐方法

  1. DATE_FORMAT (日期,”YYYY-MM”),DATE_FORMAT函数在处理数据时并不高效(相关说明)。

  2. CONCAT(substr([日期],1,4),substr([日期],5,3)),但substr函数主要用于字符串的处理,在日期时间字段上并没有很好的优势,不建议使用。