プロが教えるわが家の防犯対策術!

postgresqlのupdateについて質問です。
一つのテーブルで二つの列と任意の文字を別の列へ結合するupdate文を作りたいのですが初心者なものでわかりやすくご教授いただけたら幸いです。

UPDATE テーブル名 SET 列3 = '文字' || "列1" || '文字' || "列2"
WHERE 列 Is Null;

何卒、よろしくお願い致します。

A 回答 (1件)

上記で動きます。

WHERE句を取った形で、psql で実行すると次のようになります。


hoge=# create table t (a int, b varchar(64), c varchar(64), d varchar(64));
CREATE TABLE
hoge=# insert into t values (1, '111', 'aaa');
INSERT 0 1
hoge=# insert into t values (2, '222', 'bbb');
INSERT 0 1
hoge=# select * from t;
a | b | c | d
---+-----+-----+---
1 | 111 | aaa |
2 | 222 | bbb |
(2 rows)

hoge=# update t set d = b || c;
UPDATE 2
hoge=# select * from t;
a | b | c | d
---+-----+-----+--------
1 | 111 | aaa | 111aaa
2 | 222 | bbb | 222bbb
(2 rows)

hoge=# update t set d = b || ' ' || c;
UPDATE 2
hoge=# select * from t;
a | b | c | d
---+-----+-----+---------
1 | 111 | aaa | 111 aaa
2 | 222 | bbb | 222 bbb
(2 rows)

hoge=#


なお、列名はダブルクォートでくくる必要はありません。必要なのは、大文字と小文字を区別する場合や、通常許されない文字列を列名に使う場合です。

お役にたちましたでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!