【问题标题】:How to use DATE format in sql - Teradata如何在 sql 中使用 DATE 格式 - Teradata
【发布时间】:2020-05-08 18:27:24
【问题描述】:

我有以下结果集。

purchase_date              invoice_no
2020-05-06 13:14:54.000000 I2516211
2020-05-05 20:30:08.000000 I2515992
2020-05-05 02:00:26.000000 I2515763
2020-05-03 22:00:51.000000 I2515504

我需要得到如下结果集。(显示每天有多少张发票)

2020-05-03  1
2020-05-06  1
2020-05-05  2

不知道如何在 sql 中使用日期格式函数。(我使用的是 teradata)

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    您可以使用to_char() 将值转换为字符串:

    select to_char(purchase_date, 'YYYY-MM-DD'), count(*)
    from t
    group by to_char(purchase_date, 'YYYY-MM-DD')
    order by to_char(purchase_date, 'YYYY-MM-DD');
    

    您还可以将值转换为日期:

    select cast(purchase_date as date), count(*)
    from t
    group by cast(purchase_date as date)
    order by cast(purchase_date as date);
    

    【讨论】:

      【解决方案2】:

      这与 Gordon 的回答相同,但重复使用了列别名(Teradata 功能):

      SELECT 
        CAST(purchase_date AS DATE) AS purchase_date, 
        COUNT(*) AS purchase_count
      FROM mytable
      GROUP BY purchase_date
      ORDER BY purchase_date;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-11
        • 2020-01-04
        • 2015-05-11
        • 2022-01-05
        • 1970-01-01
        • 2021-04-30
        • 2011-02-10
        • 2018-09-24
        相关资源
        最近更新 更多