Professional Documents
Culture Documents
P 1
P 1
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
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)