如何在hana中格式化日期

时间:2017-10-27 18:20:26

标签: date-format hana

我需要在我的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') 

2 个答案:

答案 0 :(得分:3)

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

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

E.g。

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

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

答案 1 :(得分:2)

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

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

请检查开发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;