Sql o_日期?而不是'2012年5月27日'使用截止日期('27-05-2012','dd-mm-yyyy') DECLARE CurrMonth DATE := '27 may 2012'; -- Enter 27th of current mon

Sql o_日期?而不是'2012年5月27日'使用截止日期('27-05-2012','dd-mm-yyyy') DECLARE CurrMonth DATE := '27 may 2012'; -- Enter 27th of current mon,sql,oracle,plsql,Sql,Oracle,Plsql,o_日期?而不是'2012年5月27日'使用截止日期('27-05-2012','dd-mm-yyyy') DECLARE CurrMonth DATE := '27 may 2012'; -- Enter 27th of current month BEGIN SELECT a.policynumber ,a.cifnumber ,a.phid ,a.policystartdate ,b.sistartdate ,c.date


o_日期?而不是
'2012年5月27日'使用
截止日期('27-05-2012','dd-mm-yyyy')
DECLARE 
    CurrMonth DATE := '27 may 2012'; -- Enter 27th of current month  

BEGIN

SELECT 
    a.policynumber
    ,a.cifnumber
    ,a.phid
    ,a.policystartdate
    ,b.sistartdate
    ,c.dateofbirth
    ,'28/02/2013' AS TaxYearEnd
    --Complete tax year end in the SELECT statement (once for tax year end and once for the age at tax year end)
    ,round ((months_between('28 feb 2013',c.dateofbirth)/12),8) AS AgeAtTaxYearEnd 
    ,b.sifrequency AS CurrSIFrequ
    ,b.sivalue AS CurrentSIValue
    ,b.simode AS CurrentSIMode
    ,d.anniversarydate AS CurrentAnnDate
    ,d.anniversaryvalue AS CurrentAnnValue
    ,b.ruleeffectivedate
    ,b.sistatus AS CurrentSIStatus
    ,b.paymentbranchcode AS CurrSIBranchCode
    ,b.transferaccounttype AS CurrSIAccountType
    ,b.transferaccountnumber AS CurrSIAccountNo
    ,SUM(k.unitbalance) AS unitbalance
    ,a.latestrule
FROM fcislob.policytbl a
    ,fcislob.policysitbl b
    ,fcislob.unitholderdetailtbl c
    ,fcislob.policyanniversaryvaluetbl d
    ,fcislob.unitholderfundtbl k
WHERE a.policynumber = b.policynumber
    AND a.policynumber = d.policynumber
    AND b.policynumber = d.policynumber
    AND a.phid = c.unitholderid
    AND a.phid = k.unitholderid
    AND c.unitholderid = k.unitholderid
    AND a.ruleeffectivedate = b.ruleeffectivedate
    AND a.ruleeffectivedate = d.ruleeffectivedate
    AND b.ruleeffectivedate = d.ruleeffectivedate
    AND a.latestrule <> 0
    AND c.authrejectstatus = 'A'        
    AND a.phid LIKE 'AGLA%'
    AND b.sistatus <> 'C'
    AND k.unitbalance >0     
    AND b.transactiontype = '64'
    AND b.sistartdate <= CurrMonth                                              
    AND b.sifrequency = 'M'

GROUP BY a.policynumber, a.cifnumber, a.phid, a.policystartdate, b.sistartdate , c.dateofbirth,b.sifrequency, b.sivalue, b.simode, d.anniversarydate, d.anniversaryvalue, b.ruleeffectivedate,
    b.sistatus, b.paymentbranchcode, b.transferaccounttype, b.transferaccountnumber, b.policynumber, a.latestrule;
    END;
DECLARE
  v_policynumber fcislob.policytbl.policynumber%TYPE;
  v_cifnumber    fcislob.policytbl.cifnumber%TYPE;
  v_phid         fcislob.policytbl.phid%TYPE;
  -- and so on ...
  v_sum          number;
BEGIN
    SELECT SUM(k.unitbalance), a.policynumber, a.cifnumber, a.phid -- and so on ...
      INTO v_sum, v_policynumber, v_cifnumber, v_phid -- and so on ...
      FROM fcislob.policytbl a -- and so on ...
  GROUP BY a.policynumber, a.cifnumber, a.phid -- and so on ...
END;
set verify off
select 'Supplied date is ' || to_date('&1', 'DD-Mon-RRRR') from dual;
define supplied_date = &1
select 'Supplied date is ' || to_date('&supplied_date', 'DD-Mon-RRRR') from dual;
define curr_date = '2012-05-31';
select 'Today is ' || date '&curr_date' from dual;
select 'Today is ' || to_date('&curr_date', 'YYYY-MM-DD') from dual;
column today new_value curr_date
select to_char(sysdate, 'DD-Mon-YYYY') as today from dual;
select 'Today is ' || to_date('&curr_date', 'DD-Mon-YYYY') from dual;
var curr_date varchar2(10);
exec :curr_date := '2012-05-31';
select 'Today is ' || to_date(:curr_date, 'YYYY-MM-DD') from dual;