取年月的函数

观小数发表于:2019年11月25日 19:49:06更新于:2020年09月17日 19:05:45

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

推荐方法:

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

    image.png

  • 如果一定要用函数,且对格式没有太多要求的话,可以直接用:CONCAT(YEAR([日期]),MONTH([日期])),但2018年1月会显示成20181。

  • 如果对格式有要求,可以用case when函数:

        case

        when length(month([日期])) =1

        then CONCAT(year([日期]),'-0',MONTH([日期]))

        else CONCAT(year([日期]),'-',MONTH([日期]))

        end


不推荐方法:

  • DATE_FORMAT (日期,”YYYY-MM”),DATE_FORMAT函数在处理数据时并不高效,如果只在最后的输出之前修改格式是合适的,但不建议在ETL中使用该函数。

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



    您需要登录后才可以回复