如何在hana中格式化日期
How to format date in 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')
SAP HANA 中的日期数据类型与大多数其他 DBMS 中的一样,没有与之关联的特定格式。
格式化是输出渲染过程的一部分,依赖于语言环境的设置通常在这里发挥作用。这个你可以查看我的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
。
正如 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;
我需要在我的 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')
SAP HANA 中的日期数据类型与大多数其他 DBMS 中的一样,没有与之关联的特定格式。 格式化是输出渲染过程的一部分,依赖于语言环境的设置通常在这里发挥作用。这个你可以查看我的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
。
正如 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;