如何忽视年初的年份 [英] how to ignore year from date
本文介绍了如何忽视年初的年份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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 - %%%%',' < span class =code-string> dd-mm')
那么 ' 你的明星是摩羯座'
ELSE ' 任何其他明星'
END ;
DBMS_OUTPUT.PUT_LINE(V_STAR);
END
我想避开年初的日期,&获得月份&那天,明星会定义,
如何忽略年份?
解决方案
我是通过
做到的
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')
那么 ' 你的明星是摩羯座'
ELSE < span class =code-string>' 任何其他明星'
END ;
DBMS_OUTPUT.PUT_LINE(V_STAR);
END ;
选择REPLACE(RIGHT(CONVERT) (VARCHAR(9),GETDATE(),6),6),'',' - ')+''+ CONVERT(VARCHAR(12),GETDATE(),114)
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:=当V_MONTH ='january'时的情况和V_DD< = 20那么
'你的明星是摩羯座'
当V_MONTH ='1月'和V_DD> 20那么
'你的明星是水瓶座'
当V_MONTH ='febraury'且V_DD< = 20那么
'你的明星是水瓶座'
当V_MONTH ='febraury'和V_DD> 20那么
'你的明星是双鱼座'
当V_MONTH ='march'和V_DD< = 20那么
'你的明星是双鱼座'
当V_MONTH ='march'和V_DD> 20那么
'你的明星是白羊座'
当V_MONTH ='april'和V_DD< = 20那么
'你的明星是白羊座'
当V_MONTH ='april'和V_DD> 20那么
'你的明星是金牛座'
当V_MONTH ='可能'和V_DD< = 20那么
'你的明星是金牛座'
当V_MONTH ='可能'和V_DD> 20那么
'你的明星是双子座'
当V_MONTH ='6月'和V_DD< = 20那么
'你的明星是双子座'
当V_MONTH ='可能'和V_DD> 20那么
'你的明星是巨蟹座'
当V_MONTH ='7月'且V_DD< = 20那么
'你的明星是巨蟹座'
当V_MONTH ='7月'和V_DD> 20那么
'你的明星是狮子座'
当V_MONTH ='8月'且V_DD< = 20那么
'你的明星是狮子座'
当V_MONTH ='8月'和V_DD> 20那么
'你的明星是处女座'
当V_MONTH ='9月'和V_DD< = 20那么
当V_MONTH ='9月'和V_DD> 20那么
'你的明星是天秤座'
当V_MONTH ='10月'且V_DD< = 20那么
'你的明星是天秤座'
当V_MONTH ='十月'和V_DD> 20那么
'你的明星是天蝎座'
当V_MONTH ='11月'且V_DD< = 20那么
'你的明星是天蝎座'
当V_MONTH ='11月'和V_DD> 20那么
'你的明星是sagitarius'
当V_MONTH ='12月'和V_DD< = 20那么
'你的明星是sagitarius'
当V_MONTH ='12月'和V_DD> 20那么
'你的明星是摩羯座'
END;
DBMS_OUTPUT.PUT_LINE(V_STAR);
DBMS_OUTPUT.PUT_LINE(V_MONTH);
DBMS_OUTPUT.PUT_LINE( V_DD);
END;
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 ?
解决方案
I did it by
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;
select REPLACE(RIGHT(CONVERT(VARCHAR(9), GETDATE(), 6), 6), ' ', '-') +' ' + CONVERT(VARCHAR(12), GETDATE(), 114)
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;
这篇关于如何忽视年初的年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文