• ベストアンサー

ACCESSでの計算について

教えてください。 ACCESS2003を使用しています。 テキスト型のフィールドで四則演算を行うことができるのですが 数値型で演算した時と結果の違いはあるのでしょうか? ご存知の方、どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

例えば、単価100円、個数20個のレコードで  SELECT [単価文字列] + [個数文字列] AS 売上金額 FROM 売上テーブル のようなクエリを働かせると、  この行では、10020 と文字の追加として表示されます。 しかし、同レコードで、  SELECT [単価文字列] * [個数文字列] AS 売上金額 FROM 売上テーブル のようなクエリを働かせると、文字列を自動的に数値扱いにしてくれて、 2000 と表示されます。 これは、 / - の計算でも同様に計算されます。  また、裏技的に、式の先頭に 0 + を付けて、  SELECT 0 + [単価文字列] + [個数文字列] AS 売上金額 FROM 売上テーブル のようなクエリを働かせると、  この行では、数値計算として2000 が表示されます。  さらに、型変換(キャスト)関数を使って、  SELECT CInt([単価文字列]) + CInt([個数文字列]) AS 売上金額 FROM 売上テーブル のようなクエリを働かせても、  正しく、数値計算として2000 が表示されます。

goouser20
質問者

お礼

ありがとうございます。 私も四則演算で試してみましたが 特に差はないようでした。 ご回答ありがとうございました!

goouser20
質問者

補足

すみません。お礼を投稿した後に気がついたのですが +のときは差が出るのですね。 私は項目+項目でなく 項目+実数値で試したので差が出なかったようです。 とても勉強になりました。 ありがとうございました。

関連するQ&A