在 PL/SQL 我定义了两个变量
v_boolean  BOOLEAN := fase ;
v_null  int := 10 ;下面有一个 表达式
v_boolean = to_date('2009-07-06','yyyy-mm-dd')  between  to_date('2009-07-01','yyyy-mm-dd') and to_date('2009-07-31','yyyy-mm-dd')  ;请问:这时 v_boolean 的值是什么 ?
      如果不能这样写,那  v_boolean  := v_null  is null ;  这个表达式怎么就能返回 true 呢?请高手指教!!!

解决方案 »

  1.   

    declare v_boolean BOOLEAN ;
    begin
     if to_date('2009-07-06','yyyy-mm-dd')  between  to_date('2009-07-01','yyyy-mm-dd') and to_date('2009-07-31','yyyy-mm-dd') 
    then 
    v_boolean:=true;
    end if;
    if v_boolean =true
    then
    dbms_output.put_line('true');
    end if;
    end;
    /
      

  2.   

    请问:这时 v_boolean 的值是什么 ?
    true如果不能这样写,那  v_boolean  := v_null  is null ;  这个表达式怎么就能返回 true 呢? 
    不明白,要问什么呀,和上面的有关系吗
      

  3.   

    declare
      v_boolean BOOLEAN := false;
      v_null    int := 10;
    begin
      v_boolean := to_date('2009-07-06', 'yyyy-mm-dd') between to_date('2009-07-01',
                                                                      'yyyy-mm-dd') and to_date('2009-07-31',
                                                                                                'yyyy-mm-dd');
     if v_boolean then
       dbms_output.put_line('true');
     end if;
    end;
      

  4.   

    能在WHERE 条件里写的条件都是返回 布尔值
      

  5.   

    v_boolean := to_date('2009-07-06','yyyy-mm-dd')  between  to_date('2009-07-01','yyyy-mm-dd') and to_date('2009-07-31','yyyy-mm-dd')  ; 在pl/sql中可以这样写
      

  6.   

     to_date('2009-07-06','yyyy-mm-dd')  between  to_date('2009-07-01','yyyy-mm-dd') and to_date('2009-07-31','yyyy-mm-dd')
    为真所以v_boolean为布尔类型