【问题标题】:How to format date in hana如何在hana中格式化日期
【发布时间】:2017-10-27 18:20:25
【问题描述】:

我需要在我的 hana sql 中格式化日期,但我不知道该怎么做。像这样的:

 SELECT
 DATE_FORMAT(DATAS,'%Y-%m') as Dat 
,sum(SALES_VALUE) as Venda
,sum(SALES_QTY) as Qtd
,sum(SALES_VALUE) / sum(SALES_QTY) as  Preco
FROM looqdata.data_store_sales as s
inner join
looqdata.data_store_cad as c
on s.STORE_CODE = c.STORE_CODE
where 1=1
and DATAS between '2016-01-04' and '2016-02-10'
and s.STORE_CODE in  (1,2) 
group by DATE_FORMAT(DATAS,'%Y-%m') 

【问题讨论】:

    标签: date-format hana


    【解决方案1】:

    与大多数其他 DBMS 一样,SAP HANA 中的日期数据类型没有与之关联的特定格式。 格式化是输出渲染过程的一部分,并且依赖于语言环境的设置通常在这里发挥作用。您可以在此查看我的blog

    如果您想强制使用特定格式并接受数据类型变为字符串数据类型,则可以使用 TO_VARCHAR() reference docu link 等转换函数。

    例如

    SELECT 
          TO_VARCHAR (TO_DATE('2009-12-31'), 'YYYY/MM/DD') "to varchar" 
    FROM DUMMY;
    

    将日期字符串从格式YYYY-MM-DD 转换为日期格式YYYY/MM/DD

    【讨论】:

      【解决方案2】:

      正如 Lars 解释的,您可以使用 TO_VARCHAR() 函数将日期表达式转换为所需的格式

      如果要转换已经在数据类型 DATE 列中的日期,则不需要额外的 TO_DATE() 转换 在这种情况下,可以直接在 SQLScript 中使用 TO_VARCHAR() 进行日期格式转换

      请检查您的开发 SAP HANA 数据库上的以下 SQLScript 代码

      create column table ProductValue (
      Product      varchar(10),
      Date     date,
      Value  int
      );
      insert into ProductValue values ('P1','20171001',10);
      
      select *, TO_VARCHAR(Date,'DD.MM.YY')  from ProductValue;
      select *, TO_VARCHAR(Date,'DD.MM.YYYY')  from ProductValue;
      select *, TO_VARCHAR(Date,'YYYY-MM')  from ProductValue;
      select *, TO_VARCHAR(Date,'YYYY-MM-DD')  from ProductValue;
      select *, TO_VARCHAR(Date,'YYYY/MM/DD')  from ProductValue;
      select *, TO_VARCHAR(TO_DATE(Date),'YYYY/MM/DD')  from ProductValue;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-20
        • 2011-01-31
        • 2014-04-18
        • 2011-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多