如何在oracle中使用子字符串读取YYYYMM格式的日期值

雪诺

在我的表 customer_records 中,有一列 StartDate 具有DDMMYYYYHHMMSS格式(列数据类型为 VARCHAR)。
我想按YYYYMM格式从表组中提取数据

我有以下工作查询:它将以MMYYYY格式提取数据

SELECT /*+ PARALLEL(a , 8 ) */
          NVL (SUBSTR (StartDate, 3, 6), 'Total') "Year-Month",Started",
         TO_CHAR (COUNT (1), '999,999,999') "Customer Count",
         TO_CHAR (
              SUM (Usage)/60,
            '999,999,999')`enter code here`
            "Duration (M)"
    FROM customer_records a
   WHERE type='NEW'
          and customer_status=0 
GROUP BY ROLLUP (to_date(SUBSTR (StartDate, 3, 6),'MMYYYY'), 'Total')
ORDER BY 1;

但我希望日期格式采用YYYYMM格式。
我尝试了以下选项。但不工作,

SELECT /*+ PARALLEL(a , 8 ) */
        NVL (to_date(SUBSTR (StartDate, 3, 6),'MMYYYY'), 'Total') "Month Started",
         TO_CHAR (COUNT (1), '999,999,999') "Customer Count",
         TO_CHAR (
              SUM (Usage)/60,
            '999,999,999')
            "Duration (M)"
    FROM customer_records a
   WHERE type='NEW'
          and customer_status=0 
GROUP BY ROLLUP (to_date(SUBSTR (StartDate, 3, 6),'MMYYYY'), 'Total')
ORDER BY 1;

有人可以帮我编辑上面的查询以获取YYYYMM格式的数据吗?

公羊

如果给定的 startdate 是日期格式,那么下面的格式会很好用。

更新:正如您在评论中提到的,它不是 datw 格式,然后您首先将其转换为日期格式,然后使用 to_char 函数需要 YYYYMM 格式

SELECT /*+ PARALLEL(a , 8 ) */
            NVL ( to_CHAR(to_date(substr(StartDate, 1,8),'DDMMYYYY'),'YYYYMM'),'Total') "Month Started",
             TO_CHAR (COUNT (1), '999,999,999') "Customer Count",
             TO_CHAR (
                  SUM (Usage)/60,
                '999,999,999')
                "Duration (M)"
        FROM customer_records a
       WHERE type='NEW'
              and customer_status=0 
    GROUP BY ROLLUP (to_CHAR(to_date(substr(StartDate, 1,8),'DDMMYYYY'),'YYYYMM'))
    ORDER BY 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python格式的字符串中使用点?

如何在格式字符串中使用定义?

java - 如何在java中使用格式dd-mm-yyyy将字符串格式化为日期

如何在strptime中使用俄语日期字符串

如何在Spark SQL子字符串中使用列值作为分隔符?

如何在RawQuery Android中使用子字符串

如何在 Ionic 2 中使用子字符串

如何在linq查询中使用子字符串?

如何在DOORS中使用DXL来获取RTF格式的格式化并获取实际的字符串值?

如何在Swift中使用%@从字符串格式化字符串

如何在Gnuplot中使用自定义日期/时间字符串格式化tic标签?

如何在多个节点中使用 XLS 在 XML 中使用子字符串修改元素的属性值

如何在字符串中使用值

如何在JXPath表达式中使用字符串的子字符串

如何在数组mongodb下的子文档中使用日期字符串对数据进行分组

如何使用VBA将yyyymm数字字符串转换为月末日期?

从字符串格式读取日期

如何从字符串oracle中提取日期格式

使用子字符串格式化JavaScript日期

使用 oracle 将日期格式与字符串进行比较

如何在字符串文字中使用字符串插值?

如何在Groovy多行字符串中使用字符串插值?

如何在powershell中從FileDateTime格式的字符串中加載日期時間值?

如何在 PostgreSQL 中将字符串值转换为日期格式?

如何在事件查看器中使用Xpath来过滤属性值的子字符串?

如何在Oracle中使用regexp_replace提取两个字符串之间的值?

如何在js中使用UTC日期字符串只显示日期而不显示时间?

如何在python中从字符串格式转换日期

如何在Lodash中使用特殊字符(如'&')格式化字符串?