0

CITY フィールドを更新しようとしています。これはカナダの住所用ですが、私の問題では簡単にします。CITY フィールドには 1 つの単語しか含まれず、STATE フィールドには複数の単語 (通常はスペースで区切られた 3 つ以下の単語) が含まれますが、STATE 値の大部分にはスペースで区切られた 2 つの単語が含まれます。

例: CITY は NEW と表示され、STATE は YORK NY と表示されます

現在、CITY を更新して NEW YORK を表示しようとしています。STATEも更新する必要がある部分に到達していません。ベイビーステップだと思います。

私が持っているもの:

UPDATE TABLE
SET CITY = CITY || ' ' || SUBSTR(STATE, 1, INSTR(STATE, ' '))
WHERE SUBSTR(STATE, 1, INSTR(STATE, ' ')) IS NOT NULL;


私が実行したとき:

SELECT CITY || ' ' || SUBSTR(STATE, 1, INSTR(STATE, ' '))
WHERE SUBSTR(STATE, 1, INSTR(STATE, ' ')) IS NOT NULL; 


STATE フィールドの最初の単語を取得したので、順調に進んでいることがわかります。

これに関する情報をいただければ幸いです。

ありがとう。

4

1 に答える 1

0

データを修正しようとしている場合 (100% ではありませんが、その場合)、コードは問題ないようです。

create table t1 (city varchar2(100), state varchar2(100)) insert into t1 values ('NEW','YORK NY')

update t1 set city = city ||' '||SUBSTR(STATE, 1, INSTR(STATE, ' ')) WHERE SUBSTR(STATE, 1, INSTR(STATE, ' ')) は NULL ではありません。

今都市コラム:ニューヨーク

select state ,SUBSTR(STATE, length(state) -1, INSTR(STATE, ' ')) from t1
WHERE SUBSTR(STATE, 1, INSTR(STATE, ' ')) IS NOT NULL;

于 2013-10-07T16:36:33.300 に答える