码迷,mamicode.com
首页 > 数据库 > 详细

SAPHANA学习(23):SQL Function(W)

时间:2020-11-07 17:10:52      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:factor   fct   expr   pre   express   包括   div   tab   actor   

/*

149.WEEK

WEEK(<date>)

返回周数

 

WEEKDAY(<date>)

返回日期所在周天,星期1(0)~星期天(6)

*/

SELECT  WEEK(TO_DATE(2011-05-30, YYYY-MM-DD))  FROM DUMMY;
SELECT  WEEK (2017-01-02) FROM DUMMY;
SELECT WEEKDAY (TO_DATE (2010-12-31, YYYY-MM-DD)) "week day" FROM DUMMY;

/*

150. WEIGHTED_AVG

WEIGHTED_AVG(<expression>) <window_specification>

计算规则:

weight(<i>) = 2 * (<n> + 1 - <i>) / (<n> * (<n> + 1))

 

*/

CREATE ROW TABLE TEST_WEIGHT (station INT, ts DATE, temperature FLOAT);
INSERT INTO TEST_WEIGHT VALUES(1, 2014-01-01, 0.0);
INSERT INTO TEST_WEIGHT VALUES(1, 2014-01-02, 3.0);
INSERT INTO TEST_WEIGHT VALUES(1, 2014-01-03, 4.5);
INSERT INTO TEST_WEIGHT VALUES(2, 2014-01-04, 6.0);
INSERT INTO TEST_WEIGHT VALUES(2, 2014-01-05, 6.3);

SELECT
       ts,
       temperature,
       WEIGHTED_AVG(temperature)
       OVER (ORDER BY ts ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)
       FROM TEST_WEIGHT ORDER BY ts;

/*

151. WIDTH_BUCKET

WIDTH_BUCKET(<expression>, <min_value>, <max_value>, <num_buckets>)

<expression>数字类型或者时间类型,或者能够转换成的类型

<min_value>

<max_value>

<num_buckets>

*/

CREATE TABLE TEST_WIDTH_BUCKET (NUM INT);
INSERT INTO TEST_WIDTH_BUCKET VALUES(1);
INSERT INTO TEST_WIDTH_BUCKET VALUES(2);
INSERT INTO TEST_WIDTH_BUCKET VALUES(3);
INSERT INTO TEST_WIDTH_BUCKET VALUES(4);
INSERT INTO TEST_WIDTH_BUCKET VALUES(5);

--不存在?
--SELECT *, WIDTH_BUCKET( NUM, 2, 5, 2 ) FROM TEST_WIDTH_BUCKET;

/*

152. WORKDAYS_BETWEEN

WORKDAYS_BETWEEN(<factory_calendar_id>, <start_date>, <end_date> [, <source_schema>])

计算开始日期和结束日期之间的工作日数

<factory_calendar_id> ::= <string_literal>

工厂日历ID,工厂日历表:TFACS

<start_date> ::= <string_literal> | <DATE>

<end_date> ::= <string_literal> | <DATE>

<source_schema> ::= <string_literal>

TFACS所在schema

 

如果<start_date>小于<end_date>,返回之间工作日,包括<start_date>,不包括<end_date>

如果<start_date>大于<end_date>,返回负数工作日,包括<end_date>,不包括<start_date>

*/

--SELECT WORKDAYS_BETWEEN(‘01‘, ‘2014-01-09‘, ‘2014-01-10‘ , ‘FCTEST‘) FROM DUMMY;

 

SAPHANA学习(23):SQL Function(W)

标签:factor   fct   expr   pre   express   包括   div   tab   actor   

原文地址:https://www.cnblogs.com/tangToms/p/13939794.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!