更新:すべてのお手伝いがありがとう!私は結果を見渡すためにちょっとした時間を取る必要があり、私はその答えに間違いなく印をつけます。本当に皆様のご意見をお待ちしております!Oracle PL/SQLからMicrosoft T-SQLへのクエリの変換
次の問合せは、データソースの変更に対応するためにOracel PL/SQLからT-SQLに変換する必要があります。私はすでにロジックを分離するために必要な作業(まだPL/SQLで書かれています)を行い、残りの部分を調整するだけで済みます。特にTO_DATEのようなものは変換するのが難しいので、私はStackOverflowを使うことにしました。
私はすでにSwisSQLツールについて知っていますが、これは単なるクエリの単なるインスタンスであり、その製品を使って変換する必要はありません。適切なT-SQLシンタクスを使用するようにクエリを変換する際の助けとなることは、大いに感謝しています。お時間をいただき、ありがとうございます、ここで問題になっているクエリです:
SELECT
F.TYPE_ID,
TRIM(f.event_type_name),
TRIM(e.event_name),
NVL(trim(e.event_title),' '),
e.cur_event_state,
TO_CHAR(D.EV_START_DT, 'YYYYMMDD') ,
TO_CHAR(D.EV_START_DT,'HH24MI') ,
TO_CHAR(D.EV_END_DT, 'YYYYMMDD') ,
TO_CHAR(D.EV_END_DT,'HH24MI') ,
TO_char(d.EV_START_DT, 'D')
from rooms C,
SP_RESERVATIONS D,
EVENTS E,
event_types f
where @Room = TRIM(replace(C.room_short(+),'-','*'))
AND C.ROOM_ID = D.ROOM_ID
AND D.EVENT_ID = E.EVENT_ID
and e.event_type_id = f.type_id
and f.type_id in ('22','40','70','71','72','105','121','119')
AND (D.EV_START_DT
BETWEEN TO_DATE(:WS-TERM-START-DATE,'YYYYMMDD')
AND TO_DATE(:WS-TERM-END-DATE,'YYYYMMDD')
OR D.EV_END_DT
BETWEEN TO_DATE(:WS-TERM-START-DATE,'YYYYMMDD')
AND TO_DATE(:WS-TERM-END-DATE,'YYYYMMDD'))
and not e.cur_event_state = '59'
ありがとう!
あなたの質問は??????? –
あなたのフィルタでは 'B.rooms_id'のようないくつかのカラムを使いますが、' FROM'のテーブルBは表示されません – Lamak
これをキャッチしてくれてありがとう、Lamark。クエリが正しい値で更新されました。 私の質問は、このクエリをPL/SQLからT-SQLに変換することです。 – user1179071