• ベストアンサー

PLSQLの減算について

初歩的な質問をさせてください。 varchar2で定義している以下の内容を減算できますか? するには、どうすれば良いですか? A VARCHAR2(2); B VARCHAR2(2); A := '80'; B := A - 1; 80と言う内容から1を減算したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

VARCHARって文字型ですけど。 ま、いいや。 B := TO_CHAR((TO_NUMBER(A,'99) - 1 ),'FM99') ; かな。でもこれじゃ符号がおかしくなるよね。

ebi-pe
質問者

お礼

お礼が遅くなりすいません。 凄く、助かりました。ありがとうございます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

PL/SQL(Oracle)? なら、TO_NUMBERで検索。

ebi-pe
質問者

お礼

検索させて頂き、勉強になりました。 有難うございます。

関連するQ&A

  • ポイント加算・減算プログラム?

    こんにちは。今簡単なポイントを加算・減算するようなプログラムを作ろうとしてるのですが、全然わかりません/(-_-)ヽ 内容は、 画面上の、あるボタン((1)ボタンとします)をクリックするとポイントが加算され、違うページの違うボタン((2)ボタンとします)をクリックするとポイントが減算されるというものです。プラス、これはユーザごとに分けて個別に表示させたいのです。(ユーザAがHPにアクセスするとA個人のポイントが表示される。ユーザBがHPにアクセスするとB個人のポイントが表示される。)感じです。 お願いします。

  • エクセル 加算減算

    エクセルについて質問があります 表を作成しています A2に項目 B2に繰越金(残金)C2に入金した金額 D2に使った金額 E2に残金 ちなみに B3に 自動的にE2の金額が入力されるよう設定したいと 思っています 同じ行に 加算と減算を 計算式を使ってもとめられるように計算式をつくりたい のですが なかなかうまくできません これが 入金だけなら =sum(B2:C2)を E2に入力して 出来たのですが これに 引き算も つけたしたい場合は どのようにしたらよいのでしょうか? それとも 加算 減算(また 掛け算なども)を1行には  まとめられないのでしょうか? ちょっと基本的な質問で申し訳ありませんが 何方か その方法を教えて頂けないでしょうか? また それを30行にわたって したいのですが  いちいち 計算式 (関数というのでしょうか) を 入力しないと ダメなのでしょうか それとも コピーなどで 出来るかもしりたいのですが 教えて頂けたらありがたいです 宜しくおねがいいたします 

  • 【Excel】離れたセル同士の減算の関数式

    たとえば以下のような数値が各セルに入力されているとします。 ひとつめの数値入力(また結果)のパターン A1➡5000 A5➡0 A6➡4000 A7➡-1000 ふたつめの数値入力のパターン A1➡0 A5➡5000 A6➡4000 A7➡-1000 このように、A6からA5もしくはA6からA1を減算したときにその結果が表示される(A7)関数式を教えてください。 これは蛇足質問ですが、「=A1+A2」のような式に替わる「=SUM(A1:A2)」のようなSUM関数がありますが、なぜ減算の場合にはないのでしょうか?

  • アナログ減算回路の正負バランス

    オペアンプの減算回路にて、入力Aー入力B>0の時は正確に減算され、 AーB<0となる時に、1%弱ズレが生じるのですが、 このバランス調整について、教えてください。 ちなみにオペアンプ OP-177にて、負帰還A側抵抗R1、R2、 正帰還B側抵抗R3、R4のR1=R3、R2=R4は合わせてあります。

  • 三菱高速カウンタ(QD62)の加算・減算カウント

    恐れながら質問致します。 搬送装置に組み付けているロータリーエンコーダーを QD62にA相・B相・ABCOMに接続。(500台以上同じ条件の量産機です) スイッチ設定は「2相4逓倍」「リングカウンタ」 GX Works2でデバイスをモニタすると値が減算しておりました。 QD62本体には「DEC.」のランプは消灯しているのにも関わらず、減算カウントしている状況です。 A相・B相の配線を逆にすれば済む話なのですが、量産機の為、解決をしたい次第です。 以下に状況をまとめます。 【A相・B相を正規の配線】 DEC.ランプ=消灯、デバイスモニタ=減算カウント 【A相・B相反対の配線】 DEC.ランプ=点灯、デバイスモニタ=加算カウント QD62やロータリーエンコーダを他の機器と入れ替えると、この機械のみ発生していることから、 部材の問題ではないと思いますが。。 パラメータ設定などで加算・減算カウントが反転してしまう事はあるのでしょうか? ご経験がある方いらっしゃいましたら、ご教授の程、よろしくお願いいたします。

  • エクセルで減算タイマーを表示したい

    セルA1に =(NOW())が入っています。 現在時刻は19:27:05と表示されています。   A2には任意の時刻19:31:39を入力して   A3に =A1-A2 と入力すると23:55:29と表示され減算されません。 どうしたら良いか教えてください。 尚A1はほぼリアルタイムで表示が変わるので減算タイマーが表示できると思っているのですが。

  • double型の減算がうまくいかない

    Java初心者です。 今、Javaの勉強中で、double型の計算を行っています。 double型同士の減算を行った結果、思っていた結果と違う値が帰ってきたので、原因、もしくは解決方法をお教え頂ければと思います。 ソースは以下 public static void main(String[] args) { //値A double longitudeA = -73.98289; //値B double longitudeB = -73.98315; BigDecimal aDecimal = new BigDecimal(String.valueOf(longitudeA)); BigDecimal bDecimal = new BigDecimal(String.valueOf(longitudeB)); //減算 BigDecimal decimal = aDecimal.subtract(bDecimal); //小数点以下第5位で四捨五入し、出力 System.out.print(decimal.setScale(5, RoundingMode.HALF_UP).doubleValue()); } 出力される値として、 0.00026 を想定していたのですが、実際に出力されたのは 2.6E-4 でした。 BigDecimalのオブジェクトをそのまま出力すると想定通りの結果が出力されます。 一回Stringに型変換を行った後、Double#parseDoubleを行ったりしてみたのですが、 どうも思った通りの出力がされません。 解決策をお教え頂ければと思います。 よろしくお願いします。

  • エクセルの加算、減算表について

    Win10、office2019です。 添付のようなエクセルの表で、出納帳のようなイメージです。 B-1の数値(15,000)から C-1に -1,000と入力すると減算した数値がB-2に表示され、次にC2に2,000と入力するとB-3に答えが入るような表にしたいのです。 一回ずつ計算式を入れると計算するのですが、B列のセルに何らかの設定をすると可能なのかどうか・・・ 減算だけなら可能なのかなどを含め、ご教示いただけると幸いです。 よろしくお願いいたします。

  • VHDL記述の回路設計「加算減算器」

    VHDL記述の回路を設計というかプログラミングをしたのですが、出力が正しくありませんでした。内容は「加算・減算器」です。今回はオーバーフローを(考えてもいいのですが)考えないことにします。 記述内容は以下のようになっています。P_A で加算と減算を切り替えています。問題のボードへの出力ですが、 X_A + X_B = L_A としています。 0000 0000 0000 0001 0000 0001 0010 0000 0010 0011 0000 0011 0100 0000 0100 … という風に X_A だけを 0 に統一した場合でも正しく出力されていますが、 0000 0001 0001 0001 0001 0000 0010 0001 0011 0011 0001 0010 0100 0001 0101 0101 0001 0100 … このように、ビット同士の和の繰り上がりがきいてない感じなんですね。これって下の記述が間違ってるんでしょうか。それとも、ボード出力時のピンの当て方が間違ってるんでしょうか。詳しい方、アドバイスよろしくお願いします。 library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity EX is port ( P_A : in std_logic; X_A : in std_logic_vector(3 downto 0); X_B : in std_logic_vector(3 downto 0); L_A : out std_logic_vector(3 downto 0) ); end EX; architecture STRUCTURE of EX is begin process ( X_A, X_B, P_A ) begin if P_A = '1' then L_A <= X_A + X_B; else L_A <= X_A - X_B; end if; end process; end STRUCTURE;

  • PLSQLについて

    初心者の質問でほんとうにほんとうに申し訳ありません。 PLSQLでお伺い致しのですが、 例えば、もしaというパラメータがNULLだった場合に、 b_procというプロシージャを呼び出すという処理があったとして、 その呼び出したプロシージャのINパラメータを、NULLとして取得したい時の記述として、   IF a is NULL THEN b_proc(INパラメータ);    INパラメータ =: null;  ENDIF; という記述方法は正しいでしょうか? どなか教えて頂けませんか? よろしくお願い致します。

専門家に質問してみよう