スキーマが頻繁に変更される場合は、データ ディクショナリを調べて動的 SQL を使用する必要があります。
あなたはできる ...
select table_name,
column_name
from all_tab_columns
where owner = ? -- insert name of table owner
and upper(column_name) like 'D\_%' escape '\'
検索で D の ASCII 値を使用する利点はありません。コードが難読化されるだけです。LIKE と ESCAPE が正しいアプローチです。
ところで、大文字と小文字が混在するオブジェクト名を使用することは、Oracle では悪い習慣と見なされています。
編集: もちろん、ASCII 文字で文字列を検索したい場合は、次のようにします。
where ascii(substr('D_123',1,1))=68 and
ascii(substr('D_123',2,1))=95
また
where ascii(substr('D_123',1,1))||ascii(substr('D_123',2,1))='6895'
また
where substr(dump(substr('D_123',1,2)),-6) = ' 68,95'
いつものように、物事を間違った方法で行う方法はたくさんあります。