
初歩的な質問ですみません。
Oracle9iでsqlplusで接続しています。
「member_accountテーブルのdelete_flag(VARCHAR2)カラムの値が'1'ではない」ものを抽出したいと考えてます。
ただ、正しい結果が返ってきません。
何が問題でしょうか?よろしくお願いいたします。
============================================================
SQL> select count(ID) from member_account;
COUNT(ID)
----------
16450
SQL>
SQL> select count(ID) from member_account where delete_flag='1';
COUNT(ID)
----------
107
SQL>
SQL> select count(ID) from member_account where delete_flag<>'1';
COUNT(ID)
----------
0
SQL>
SQL> select count(ID) from member_account where delete_flag!='1';
COUNT(ID)
----------
0
============================================================
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
delete_flagフィールドはNULL許可になっていて、'1'でないデータがNULLになっているのではないでしょうか?
だとすると・・・
select count(ID) from member_account where delete_flag<>'1' or delete_flag is null;
でいけるのでは?
No.3
- 回答日時:
nullが原因だと思うので、#1で書かれているように、nullを意識した条件式を使うか、
人間的条件解釈に近いdecode式やcase文を使うと良いと思いますよ。
たとえば、
select count(*) from member_account where decode(delete_flag,'1',1,0) = 0;
や
select count(*) from member_account where case when delete_flag='1' then 1 else 0 end = 0;
は、16343を戻すはずです。
ちなみに、関数式を条件にすると、通常は索引が無効になりますが、
nullデータの検索は所詮索引を使えないので、実質的に問題ないと思います。
No.2
- 回答日時:
Oracleは久しく使っていないので自信はありませんが
delete_flagが空文字列('')かNULLになっているのではないですか?
select count(ID) from member_account where delete_flag is null
でどのような結果が返ってくるか確認してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORCALE SQL 複数のGROUP BY
-
CASLⅡ 文字データから数値デー...
-
orace SQL文のエラー(ORA-0092...
-
Googleで、よく行くお店の口コ...
-
秋葉原でWindowsを買ったのです...
-
windows 10をアップデートした...
-
棒読みちゃんが起動できないの...
-
videopad 無料版 アンインストール
-
オラクル12C_SQLPlusで実行す...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
SQLについて教えて下さい。 主...
-
sqlで質問です。 idを元にidに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
selectの単純繰り返し
-
SELECT文の結果をDEFINEの値と...
-
SQLをExcelで書いている人を良...
-
SQL書けますか?
-
RANK関数で順位付けする方法
-
oracle シーケンスの欠番を確認...
-
SQL Server:UNIONで結合した結...
-
ストアドプロシージャが作成さ...
-
SQLのIF文
-
SELECT文発行後の結果をテキス...
-
文字列の連結
-
詳細設計書でselect文の導き方
-
SQLiteで特定の順位をもつ項目...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
SQLサーバに対するSQL文で抽出...
-
UPDATEで既存のレコードに文字...
-
エラーを起こす方法
おすすめ情報