2017-10-10 15 views
0
declare 
    v_date varchar2(15); 
begin 
    v_date := to_char(sysdate, 'DAY'); 
    if upper(v_date) = to_char('TUESDAY') then 
    dbms_output.put_line('Today is Tuesday'); 
    else 
    dbms_output.put_line('Today is not tuesday'|| upper(v_date)); 
    end if ; 
end; 
+1

いただきましたご質問を、あなたがその日のto_char関数から取得した値をトリミングしてください?構文エラー?常にelse節を実行していますか... ... – Twelfth

+0

これを試してください:v_date:= trim(to_char(sysdate、 'DAY')); – tbone

答えて

1

正しい結果、あなたが取得する必要

declare 
    v_date varchar2(15); 
begin 
    v_date := to_char(sysdate, 'DAY'); 
    if trim(v_date) = 'TUESDAY' then 
    dbms_output.put_line('Today is Tuesday'); 
    else 
    dbms_output.put_line('Today is not tuesday '|| v_date); 
    end if ; 
end; 
+0

不思議に 'TRIM'が必要です –

+0

私はドンノ........なぜ空白の埋め込みですか? –

+0

実際に私たちは日付から日の値を取得した後にスペースを得て、私はto_charはcharのような固定長を持っていると思う、なぜそのスペースを追加してその長さを実現するのですか – Rams

関連する問題