2016-10-19 13 views
0

'X_' prefixを使用しているデータベーステーブルでは、いずれにしても、SELECTクエリを使用して接頭辞として'X_'を持つ列は表示されません。SQLで接頭辞または接尾辞の文字列を使用して選択クエリで一部の列を除外する方法

注:私たちは SELECTクエリ内の個々の必要なカラム名を定義した場合、その後、私たちは、指定された列 名で設定された結果を達成することができます知っています。しかし、私は怠惰な男だ。:)

だから、私は、接頭辞として'X_'を持つすべてのこれらの列を除外しSELECTクエリを必要としています。

例の場合

------------------------------------------------------------- 
SN | NAME | X_STATUS | X_MODE | X_DATE | ADDRESS 
------------------------------------------------------------- 
1  Ram   S1   M1     A 
2  Sita  S1   M1     B 
3  Gita  S2   M2     C 
4  Hari  S3   M3     B 

しかし、私はその接頭辞持つ列を除外するために接頭辞として「X_」を使用して以下のような結果セットが必要です。

-------------------------- 
SN | NAME | ADDRESS 
-------------------------- 
1  Ram   A 
2  Sita  B 
3  Gita  C 
4  Hari  B 

事前に感謝:)

+1

どのDMBS?多くのタグ付き – Aleksej

+1

あなたはどのRDBMSを使用していますか?あなたは複数のタグを置く。私が考えている解決策は、Oracle辞書に基づいてクエリを生成することですが、これはOracleだけで動作するので、使用するDBを定義してください。 – Kacper

+0

@Kacper、私はoracleが好きです。しかし、どんなrdbms私は問題はありません。 – developerbhuwan

答えて

1

私が正しく理解しますがそのようなことが助ける必要がある場合、私はわからない!

select 'select ' || listagg(column_name || ' as X_' || column_name, ', ') within group(order by COLUMN_ID) || ' 
from T1' from all_tab_columns 
where table_name = 'T1'; 

をたぶんあなたはwhere column_name like 'X!_%' escape '!'またはいくつかの他のフィルタを追加する必要があります選択に必要な列の場合

+0

確認します。 – developerbhuwan

関連する問題