に次のSQLクエリをフィルタリングする方法:のOracle SQL:NUMBER列
SELECT * FROM TABLE WHERE column = '%'
は、テーブル、テーブルのすべての行を返します。
さて、私の列が数値の場合。 WHERE
句ですべての行を返すにはどうすればよいですか?指定されていない場合はデフォルトの30の長さを取る
に次のSQLクエリをフィルタリングする方法:のOracle SQL:NUMBER列
SELECT * FROM TABLE WHERE column = '%'
は、テーブル、テーブルのすべての行を返します。
さて、私の列が数値の場合。 WHERE
句ですべての行を返すにはどうすればよいですか?指定されていない場合はデフォルトの30の長さを取る
NumberColumn
SELECT * FROM TABLE WHERE CAST(NumberColumn AS VARCHAR(length)) = '%'
CAST
上
使用CAST
機能とCONVERT
。 (@JaydipJへのクレジット)
キャスト時にも長さを含める必要があります。 'VARCHAR(n)'。 –
はい、長さを追加しましたが、これは機能します。一方、私は 'to_char'がうまくいかなかった理由を理解していませんか? – Sherlock
@NullException使用している間 'Cast'または' 'Convert' VARCHAR'はデフォルトに30文字の長さ –
SELECT * FROM TABLE WHERE column = column or column is null
すべてのデータ型についてすべてを返します。
@MaheswaranRavisankar Thx、答えを編集しました。 –
ですが、1 = 1と同じになります。OPが実際に期待するものは明確ではありません。 –
@MaheswaranRavisankarはい、そうですが、OPには何らかの運動があると思います。彼は1 = 1のところでは使えないと述べた。 –
「WHERE 1 = 1」?どういう意味ですか? – HoneyBadger
いいえ、使用できません。 'WHERE column ='は常にそこにあります。フィルター効果を「キャンセル」する値が必要です。文字列の場合は '%'、正規表現の場合は '*'と同じです。 – Sherlock
'columnはnullではないかcolumnはnullです' –