私は大量の列を持つテーブルを持っています。私がそうすると、多くのことがあります。SELECT *
すべての列が画面いっぱいになっているので、値が表示されません。私は次のようなことをしたい:Oracleから既存の値のみを選択する方法は?
SELECT * FROM my_table WHERE NAME LIKE '%unique name%' AND <THIS COLUMN> IS NOT NULL
これは可能ですか? 注:VALUEは列ではありません。
あり、この同じ質問をsomanyquestionson SOがありますが、それらはいくつかの奇妙なねじれを持っており、実際の質問が回答されていません。
私が試してみた:
SELECT * FROM my_table WHERE NAME LIKE '%unique name%' AND VALUE NOT NULL
*
Invalid relational operator
SELECT * FROM my_table WHERE NAME LIKE '%unique name%' AND VALUE <> ''
*
'VALUE': invalid identifier
SELECT * FROM my_table WHERE NAME LIKE '%unique name%' AND COLUMN NOT NULL
*
Missing Expression
ボーナス質問:
- は、一度に1つの出力画面を表示するには、Oracleを強制する方法はありますか?
- 現在の列に関連するWHERE句に使用する変数はありますか?そのような:
WHERE this.column = '1'
、それはその式に一致するように各列をチェックするか? - Oracleで最後のコマンドを取得する方法はありますか? (私は、Oracleを走らせているLinuxボックスに遠隔操作しなければならない。それはコマンドラインだから、コピー/ペーストすることさえできない。すべてのコマンドを手間をかけずに入力する必要がある。だから、これをデバッグするのに、もの)
より頻繁な列のビューのいくつかを作成することができます。 – scaisEdge
私があなたが探しているものを理解しているかどうかはわかりません。この例の 'my_table'は' name'カラムと 'value'カラムを持つテーブルですか?または、あなたが 'name'がテーブルの各列の名前で、' value'がその列の値である何かをしようとしていますか?だから私は数百の列を持つテーブルを持っている場合、私は読みたい列を動的に選んでいて、それらの列の少なくとも1つが非NULL値を持つ行だけを表示していますか? –
'VALUE'は**ではなく**列です。 'NAME'は列です。 LIKE式の名前は、一行だけを返すだけの固有の名前です。しかし、それはあまりにも多くの列を返す、彼らは値を表示せずに画面全体を埋める。 –