Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

FIRST_NAME

SHIJU - VARCHAR
SHIJU
SHIJU CHAR(20)
1.CHARCATERS (FIRST_NAME) AS NAME_LENGTH O/P 5
2.CHARCTERS (FIRST_NAME) AS NAME_LENG O/P 5
3.CHARCTERS(FIRST_NAME) AS NAME 0/P 20 - char pad spaces on
the right
TRIM
CHARCATERS( TRIM(FIRST_NAME)) O/P 5
CHARACTER_LENGTH ANSI SAME AS CHARCATER
OCTER_LENGTH USED TO COUNT THE VARCHAR
TRIM(BOTH FROM LAST_NAME)
TRIM(LAST_NAME)
TRIM(trailing Y FROM FIRST_NAME) SHOULD BE CASE SENSITIVE
Substring
FIRSTNAME= SHIJU
SUBSTRING(FIRST_NAME FROM 2 FOR 3) AS NAME O/P HIJ
SUBSTRING(FIRST_NAME FROM 2)AS NAME 0/P ->HIJU
SUBSTRING(FIRST_NAME FROM 0 FOR 6) -> ONE BEFORE THE
START POSITION - > O/P SHIJU
SUBSTRING(FIRTN_NAME FROM -1 FR 3) AS NAME
0/P -> S
SUBSTRING(FIRSTN_NAME FORM 3 FOR 0) 0/P NOTHING
SUBSTR(FIRSTNMAE,2,3) SAME O/P
POSITION
Position(e in Last_name)
It will find the first occurrence, even if it is 2 values
Doesnt find returns zero
CONCATENATION
Select fristn_name ||last_name + .
NULLIFZERO()
ZEROIFNULL()
NULLIF
ISNULL
IS NOT NULL
COALESCE ()

CSUM
SELECT PROD_OD_ID,SALES_DATE, CSUM(DAILY_SALES,SALES_DATE)
AS CSUM FROM SALES
NO ORDER BY HERE SALE_DATE MAJOR SORT FIRST AND THEN
TAKE THE CSUM
SELECT PROD_OD_ID,SALES_DATE,
CSUM(DAILY_SALES,PRODUC_ID,SALES_DATE) AS CSUM FROM
SALES
Product_id is the major sort and sales_date is the minor SORT
SELECT PROD_OD_ID,SALES_DATE,
CSUM(DAILY_SALES,PRODUC_ID,SALES_DATE) AS CSUM FROM
SALES
Group by product_id

SELECT PROD_OD_ID,SALES_DATE,
CSUM(DAILY_SALES,PRODUC_ID,SALES_DATE) AS CSUM
Csum(1,product_id,saledate) as seqnumber
FROM SALES
Group by product_id reset based on group
Both csum should use the same sort
ANSI
SELECT PROD_OD_ID,SALES_DATE,
SUM(DAILY_SALES) over (order by SALES_DATE ROWS
UNBOUNDED PRECEEDED) AS SUMOVER
FROM SALES
SELECT PROD_OD_ID,SALES_DATE,
SUM(DAILY_SALES) over (order by SALES_DATE ROWS
UNBOUNDED PRECEEDED) AS SUMOVER
SUM(1) over (order by SALES_DATE ROWS UNBOUNDED
PRECEEDED) AS SEQNO FROM SALES
NO GROUP BY IN ANSI
SELECT PROD_OD_ID,SALES_DATE,
SUM(DAILY_SALES) over (PARTION BY PRODUCT_ID order by
SALES_DATE ROWS UNBOUNDED PRECEEDED) AS SUMOVER
SUM(1) over (order by SALES_DATE ROWS UNBOUNDED
PRECEEDED) AS SEQNO FROM SALES

MSUM AND MOVING WINODW


SELECT PROD_OD_ID,SALES_DATE,
DAILY_SALES,MSUM(DAILY_SALES,3,PRODUCT_ID,SALES_DATE) AS
MSUM FROM SALES
Product_id is the major sort and sales_date is the minor SORT
NO ORDER BY HERE SALE_DATE MAJOR SORT FIRST AND THEN
TAKE THE CSUM
SELECT PROD_OD_ID,SALES_DATE,
DAILY_SALES,MSUM(DAILY_SALES,3,PRODUCT_ID,SALES_DATE) AS
MSUM FROM SALES
GROUP BY PRODUCTI_ID
ANSI
SELECT PROD_OD_ID,SALES_DATE,
Msum(daily_sales,3,product_id,sales_date) as msum3,
SUM(DAILY_SALES) over (order by product_id,SALES_DATE
ROWS 2 PRECEEDED) AS SUM3_ansi
FROM SALES
SELECT PROD_OD_ID,SALES_DATE,
Msum(daily_sales,3,product_id,sales_date) as msum3,
SUM(DAILY_SALES) over (order by product_id,SALES_DATE
ROWS 2 PRECEEDED) AS SUM3_ansi,
SUM(DAILY_SALES) over (order by product_id,SALES_DATE
ROWS 2UNBOUNDED PRECEEDING) AS SUM_CONTI
SELECT PROD_OD_ID,SALES_DATE,
Msum(daily_sales,3,product_id,sales_date) as msum3,
SUM(DAILY_SALES) over (order by product_id,SALES_DATE
ROWS 2 PRECEEDED) AS SUM3_ansi,
SUM(DAILY_SALES) over (PARTITION BY PRODUCT_ID order by
product_id,SALES_DATE ROWS 2UNBOUNDED PRECEEDING)
AS SUM_CONTI
FROM SALES
MAVG
Current rpw +prevouos 2()

MDIFFCurrent the exact (moving window)


RANK- DEFAUT DESC
SEL PROD_ID,SALE_DATE,DAILY_SALE RANK(DAILY_SALE) AS
RANK FROM SALES_ATBLE WHERE PROD_ID IN (2000,300)
SORT IN DESC
SEL PROD_ID,SALE_DATE,DAILY_SALE RANK(DAILY_SALE
ASC ) AS RANK FROM SALES_ATBLE WHERE PROD_ID IN
(2000,300)
SEL PROD_ID,SALE_DATE,DAILY_SALE RANK(-DAILY_SALE )
AS RANK FROM SALES_ATBLE WHERE PROD_ID IN
(2000,300)
ANSI- DEFAULT ASC
SEL PROD_ID,SALE_DATE,DAILY_SALE, RANK ()OVER (ORDER
BY DAILY_SALES) AS RANK
FROM SALES_ATBLE WHERE PROD_ID IN (2000,300)
SEL PROD_ID,SALE_DATE,DAILY_SALE, RANK ()OVER (ORDER
BY DAILY_SALES DESC) AS RANK
FROM SALES_ATBLE WHERE PROD_ID IN (2000,300)
SEL PROD_ID,SALE_DATE,DAILY_SALE, RANK ()OVER
(PARTITION BY PRODUCT_ID ORDER BY DAILY_SALES DESC)
AS RANK
FROM SALES_ATBLE WHERE PROD_ID IN (2000,300)
QUALIFY RANK1< 7
SEL PROD_ID,SALE_DATE,DAILY_SALE, RANK ()OVER
(PARTITION BY PRODUCT_ID ORDER BY DAILY_SALES DESC)
AS RANK 1
FROM SALES_ATBLE WHERE PROD_ID IN (2000,300)
QUALIFY RANK1< 7
WHERE AND QULAIFYFIRST RETURN WHERE AND THE
QULIFY
PERCENT_RANK
SEL PROD_ID,SALE_DATE,DAILY_SALE, PERCENT_RANK
()OVER (PARTITION BY PRODUCT_ID ORDER BY DAILY_SALES
DESC) AS PERCENTRANK 1
FROM SALES_ATBLE WHERE PROD_ID IN (2000,300)

Based on no of rows

COUNT OVER()
SELECT PROD_OD_ID,SALES_DATE, MAX(DAILY_SALES) OVER(ORDER
BY PRODUC_ID,SALES_DATE ROWS UNBOUNDED PRECDING ) AS
START OVERFROM SALES
SELECT PROD_OD_ID,SALES_DATE, COUNT(*) OVER(ORDER BY
PRODUC_ID,SALES_DATE ROWS UNBOUNDED PRECDING ) AS START
OVERFROM SALES
MIN
ROW_NUMBER()
SEL PROD_ID,SAL_DATE,DAILY_SALE ROW_NUMBER()OVER
( ORDER BY PROUDCT_ID,SALE_DATE) AS SEQ_NP FROM
SALES WHERE PROD_ID(2000,300)

You might also like