- ベストアンサー
ACCESSでの計算について
教えてください。 ACCESS2003を使用しています。 テキスト型のフィールドで四則演算を行うことができるのですが 数値型で演算した時と結果の違いはあるのでしょうか? ご存知の方、どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
例えば、単価100円、個数20個のレコードで SELECT [単価文字列] + [個数文字列] AS 売上金額 FROM 売上テーブル のようなクエリを働かせると、 この行では、10020 と文字の追加として表示されます。 しかし、同レコードで、 SELECT [単価文字列] * [個数文字列] AS 売上金額 FROM 売上テーブル のようなクエリを働かせると、文字列を自動的に数値扱いにしてくれて、 2000 と表示されます。 これは、 / - の計算でも同様に計算されます。 また、裏技的に、式の先頭に 0 + を付けて、 SELECT 0 + [単価文字列] + [個数文字列] AS 売上金額 FROM 売上テーブル のようなクエリを働かせると、 この行では、数値計算として2000 が表示されます。 さらに、型変換(キャスト)関数を使って、 SELECT CInt([単価文字列]) + CInt([個数文字列]) AS 売上金額 FROM 売上テーブル のようなクエリを働かせても、 正しく、数値計算として2000 が表示されます。
お礼
ありがとうございます。 私も四則演算で試してみましたが 特に差はないようでした。 ご回答ありがとうございました!
補足
すみません。お礼を投稿した後に気がついたのですが +のときは差が出るのですね。 私は項目+項目でなく 項目+実数値で試したので差が出なかったようです。 とても勉強になりました。 ありがとうございました。