如何忽视年初的年份 [英] how to ignore year from date

查看:80
本文介绍了如何忽视年初的年份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆