Click here to Skip to main content
15,904,297 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
SQL
DECLARE
V_HD EMP.HIREDATE%TYPE;
V_FM VARCHAR2(30);
V_STAR VARCHAR2(30);
BEGIN
V_FM :='&FORMAT_MASK';
V_HD:=TO_DATE('&HIREDATE',V_FM);
DBMS_OUTPUT.PUT_LINE(V_HD||CHR(10)||TO_CHAR(V_HD,V_FM));
V_STAR:= CASE WHEN V_HD BETWEEN TO_CHAR('01-01-%%%%', 'dd-mm') AND TO_CHAR('01-02-%%%%', 'dd-mm')
THEN 'YOUR STAR is capricorn'
ELSE 'any other star' 
END;
DBMS_OUTPUT.PUT_LINE(V_STAR);

END



I want to avoid year from date , & get the month & day , so there star will define,, 
how to ignore year ?
Posted
Comments
ZurdoDev 21-Nov-13 16:59pm    
I don't know about Oracle but Microsoft SQL has a Month() and Day() function. I imagine Oracle does too.

I did it by
SQL
DECLARE
V_HD EMP.HIREDATE%TYPE;
V_FM VARCHAR2(30);
V_STAR VARCHAR2(30);
BEGIN
V_FM :='&FORMAT_MASK';
V_HD:=TO_DATE('&HIREDATE',V_FM);
DBMS_OUTPUT.PUT_LINE(V_HD||CHR(10)||TO_CHAR(V_HD,V_FM));
V_STAR:= CASE WHEN V_HD BETWEEN TO_DATE('01-01'||'-'||to_char(V_HD,'yyyy'),'dd-mm-yyyy') AND TO_DATE('01-02'||'-'||to_char(V_HD,'yyyy'),'dd-mm-yyyy') 
THEN 'YOUR STAR is capricorn'
ELSE 'any other star' 
END;
DBMS_OUTPUT.PUT_LINE(V_STAR);
END;
 
Share this answer
 
v2
select REPLACE(RIGHT(CONVERT(VARCHAR(9), GETDATE(), 6), 6), ' ', '-') +' ' + CONVERT(VARCHAR(12), GETDATE(), 114) 
 
Share this answer
 
Comments
Maciej Los 22-Nov-13 12:38pm    
Oracle, not MS SQL...
DECLARE
V_HD EMP.HIREDATE%TYPE;
V_FM VARCHAR2(30);
V_STAR VARCHAR2(30);
V_MONTH VARCHAR2(12);
V_DD NUMBER(3);
BEGIN
V_FM :='&FORMAT_MASK';
V_HD:=TO_DATE('&HIREDATE',V_FM);
V_MONTH:= TO_CHAR(V_HD,'fmmonth');
V_DD:= to_number(to_char(V_HD,'fmDD'));
V_STAR:= CASE WHEN V_MONTH='january' AND V_DD <= 20 THEN

'Your star is Capricorn'
WHEN V_MONTH='january' AND V_DD > 20 THEN
'Your star is Aquarius'

WHEN V_MONTH='febraury' AND V_DD <= 20 THEN
'Your star is Aquarius'
WHEN V_MONTH='febraury' AND V_DD > 20 THEN
'Your star is Pisces'

WHEN V_MONTH='march' AND V_DD <= 20 THEN
'Your star is Pisces'
WHEN V_MONTH='march' AND V_DD > 20 THEN
'Your star is Aries'

WHEN V_MONTH='april' AND V_DD <= 20 THEN
'Your star is Aries'
WHEN V_MONTH='april' AND V_DD > 20 THEN
'Your star is Taurus'

WHEN V_MONTH='may' AND V_DD <= 20 THEN
'Your star is Taurus'
WHEN V_MONTH='may' AND V_DD > 20 THEN
'Your star is Gemini'

WHEN V_MONTH='june' AND V_DD <= 20 THEN
'Your star is Gemini'
WHEN V_MONTH='may' AND V_DD > 20 THEN
'Your star is Cancer'

WHEN V_MONTH='july' AND V_DD <= 20 THEN
'Your star is Cancer'
WHEN V_MONTH='july' AND V_DD > 20 THEN
'Your star is Leo'

WHEN V_MONTH='august' AND V_DD <= 20 THEN
'Your star is Leo'
WHEN V_MONTH='august' AND V_DD > 20 THEN
'Your star is Virgo'


WHEN V_MONTH='september' AND V_DD <= 20 THEN
'Your star is Virgo'
WHEN V_MONTH='september' AND V_DD > 20 THEN
'Your star is Libra'

WHEN V_MONTH='october' AND V_DD <= 20 THEN
'Your star is Libra'
WHEN V_MONTH='october' AND V_DD > 20 THEN
'Your star is scorpio'


WHEN V_MONTH='november' AND V_DD <= 20 THEN
'Your star is scorpio'
WHEN V_MONTH='november' AND V_DD > 20 THEN
'Your star is sagitarius'


WHEN V_MONTH='december' AND V_DD <= 20 THEN
'Your star is sagitarius'
WHEN V_MONTH='december' AND V_DD > 20 THEN
'Your star is Capricorn'



END;

DBMS_OUTPUT.PUT_LINE(V_STAR);
DBMS_OUTPUT.PUT_LINE(V_MONTH);
DBMS_OUTPUT.PUT_LINE(V_DD);
END;
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900