アプリ版:「スタンプのみでお礼する」機能のリリースについて

NULL は 0 として扱って欲しい時はどうすればよいのでしょうか?

select (単価 * 数量 - 値引) as 小計 from 注文

値引がNULLだと小計が全てNULLになってしまいます。
Access関数のNz(値引)のようなのあるでしょうか?

A 回答 (3件)

案1


SELECT (単価 * 数量 - IF(値引,値引,'0')) as 小計 from 注文;

案2
create table の時に、
default 0 を入れる。

参考URL:http://dev.mysql.com/doc/mysql/ja/control-flow-f …
    • good
    • 0
この回答へのお礼

ありがとうございます。できました!

やっぱり案2にするのが正しいんですよね。なるべくスッキリ簡単な構造にしたい気持ちがあったので...

お礼日時:2005/07/19 23:10

標準的なSQLの関数で、IFNULLというのがあります。



IFNULL(x,y) のような形で書きます。
x が NULL なら、y をそれ以外は x を返します。

select (単価 * 数量 - IFNULL(値引, 0)) as 小計 from 注文

と書けば、O.K.です。
4.0 で試しています。
    • good
    • 0
この回答へのお礼

ありがとうございます。
やっぱり標準的な関数が良いですね!

お礼日時:2005/07/21 10:21

NZ()で行けると思います。



select (NZ(単価,0) * NZ(数量,0) - NZ(値引,0)) as 小計 from 注文

でどうでしょう?
    • good
    • 0
この回答へのお礼

ダメでした。
どうしてか、わかりませんでした。
Check the manual that corresponds to your MySQL server version for the right syntax to use near '(値引 ...

でも、NZ()というのもあるんですね。
ありがとうございます。

お礼日時:2005/07/19 23:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!