Commands of SQL

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

COMMANDS OF SQL –DATE &TIME FUNCTION

-- sql date functions

use database "DEMO_DATABASE";

alter session set timestamp_type_mapping = timestamp_ntz;

create or replace table ts_test(ts timestamp);

desc table ts_test;

create or replace table ts_test(ts timestamp_ltz);

alter session set timezone = 'America/Los_Angeles';

insert into ts_test values('2014-01-01 16:00:00');


insert into ts_test values('2014-01-02 16:00:00 +00:00');

-- Note that the time for January 2nd is 08:00 in Los Angeles (which is
16:00 in UTC)

select * from ts_test;

select ts, hour(ts) from ts_test;

select convert_timezone('Europe/Warsaw', 'UTC', '2019-01-01


00:00:00'::timestamp_ntz) as conv;

SELECT
months_between('2019-03-15'::date,
'2019-02-15'::date) as monthsbetween1,
months_between('2019-03-31'::date,
'2020-02-28'::date) as monthsbetween2;

-- GET CURRENT DATE


SELECT CURRENT_DATE;

-- GET CURRENT TIME


SELECT CURRENT_TIMESTAMP;

-- GET CURRENT DATE


SELECT CURRENT_TIME;

-- CONVERT TIMEZONE
SELECT CONVERT_TIMEZONE('UTC',CURRENT_TIMESTAMP) AS UTC_TIMEZONE;

-- CONVERT DATE TO SUBSEQUENT 4 MONTHS AHEAD


SELECT ADD_MONTHS(CURRENT_DATE,4) as DATE_AFTER_4_MONTHS;

-- 3 MONTHS BACK DATE


SELECT TO_CHAR(ADD_MONTHS(CURRENT_DATE,-3),'DD-MM-YYYY') as
DATE_BEFORE_3_MONTHS;
SELECT TO_VARCHAR(ADD_MONTHS(CURRENT_DATE,-3),'MM-DD-YYYY') as
DATE_BEFORE_3_MONTHS;

-- GET YR FROM DATE


SELECT DATE_TRUNC('YEAR',CURRENT_DATE) AS YR_FROM_DATE;
-- GET MTH FROM DATE
SELECT DATE_TRUNC('MONTH',CURRENT_DATE) AS MTH_FROM_DATE;

-- GET DAY FROM DATE


SELECT DATE_TRUNC('DAY',CURRENT_DATE) AS DAY_FROM_DATE;

SELECT DATE_TRUNC('WEEK',CURRENT_DATE) AS WEEK_FROM_DATE;

select day(current_timestamp() ) ,
hour( current_timestamp() ) ,
second(current_timestamp()) ,
minute(current_timestamp()) ,
month(current_timestamp());

SELECT WEEK(CURRENT_DATE) AS WEEK_FROM_START_OF_THE_YEAR;


SELECT MONTH(CURRENT_DATE) AS MNTH_FROM_START_OF_THE_YEAR;
SELECT DAY(CURRENT_DATE) AS MNTH_OF_CURRENT_MONTH;

-- GET LAST DAY OF current MONTH


select last_day(current_date) as last_day_curr_month;

-- GET LAST DAY OF PREVIOUS MONTH


SELECT LAST_DAY(CURRENT_DATE - INTERVAL '1 MONTH') AS LAST_DAY_PREV_MNTH;

SELECT LAST_DAY(CURRENT_DATE - INTERVAL '2 MONTH') + INTERVAL '1 DAY' AS


FIRST_DAY;

SELECT QUARTER(CURRENT_DATE) AS QTR;

SELECT EXTRACT(YEAR FROM CURRENT_DATE) AS YR;


SELECT EXTRACT(MONTH FROM CURRENT_DATE) AS MTH;
SELECT EXTRACT(DAY FROM CURRENT_DATE) AS DAY;

select QUARTER(to_date('2022-08-24'));

SELECT to_date('08-23-2022','mm-dd-yyyy');

SELECT TO_DATE('1993-08-17') AS DATE;

SELECT TO_CHAR(TO_DATE('1993-08-17'),'DD-MM-YYYY') AS DATE_DD_MM_YYYY; --


THIS WILL BE HIGHLY USED

SELECT TO_CHAR(TO_DATE('1993-08-17'),'MM-YYYY') AS MM_YYYY;

SELECT TO_CHAR(TO_DATE('1993-08-17'),'MON-YYYY') AS MON_YYYY;

SELECT TO_CHAR(TO_DATE('1993-08-17'),'MON-YY') AS DATE_MON_YY;

SELECT TO_CHAR(TO_DATE('1993-08-17'),'DY') AS DATE_DAY;

SELECT TO_CHAR(TO_DATE('1993-08-17'),'DY-DD-MM-YYYY') AS DATE_DAY;

SELECT DAYNAME ('1993-08-23');


SELECT DAYNAME (CURRENT_DATE);

SELECT TO_CHAR(TO_DATE('1993-08-17'),'YYYY-DD') AS DATE;

SELECT TO_CHAR(TO_DATE('1993-08-17'),'DD-MM') AS DATE;

select MONTH(CURRENT_DATE);
SELECT EXTRACT(MONTH FROM CURRENT_DATE) AS MTH;
SELECT ADD_MONTHS(CURRENT_DATE,-3) AS DATE_3_MNTHS_BACK;
SELECT ADD_MONTHS(CURRENT_DATE,5) AS DATE_5_MNTHS_AHEAD;

select datediff('day', '2022-06-01',CURRENT_DATE);


select datediff('day', '2022-07-23','2023-07-19');

select datediff('MONTH', '2021-06-01',CURRENT_DATE);


select datediff('YEAR', '2014-06-01',CURRENT_DATE);

select dateadd('day',-23,'2022-06-01');
select dateadd('month',-2,'2022-06-01');
select dateadd('year',-5,'2022-06-01');

select WEEK(CURRENT_DATE); -- FROM 1ST JAN 2022 HOW MNAY EEKS HAVE
SURPASSED
select MONTH(CURRENT_DATE); -- -- FROM 1ST JAN 2022 HOW MNAY MONTHS HAVE
SURPASSED

select datediff('MONTH', '2022-06-01',CURRENT_DATE);


select datediff('YEAR', '2014-06-01',CURRENT_DATE);
USE DATABASE STORES_INFO;

--GET CURRENT DATE

SELECT CURRENT_DATE;

--GET CURRENT TIME

SELECT CURRENT_TIMESTAMP;

SELECT CURRENT_TIME;

--CONVERT TIMEZONE

SELECT CONVERT_TIMEZONE('UTC',CURRENT_TIMESTAMP) AS UTC_TIMEZONE;

You might also like