重複とかダブりとか

3月 23rd, 2010

使えそうなSQL構文見つけたのでメモっておく。

ダブリのレコードがあるかこんな感じで見つけられる

SELECT field_name FROM table_name GROUP BY field_name HAVING COUNT(field_name) > 1

もし全フィールドの値が完全に同じだったら片方消すってのがWHERE文ではできないのでここでoidの出番。oidのでかいほうを消してるようです。

DELETE FROM table_name USING (SELECT field_name, max(ctid) AS ctid FROM table_name GROUP BY field_name) AS X WHERE X.field_name = table_name.field_name AND X.ctid <> table_name.ctid;

postgresqlでうまく動きました。その他は分からないです。

replace A by B

8月 30th, 2008

SQLでREPLACE関数をUPDATEで利用する方法。
UPDATE テーブル名 SET フィールド名 = REPLACE(フィールド名,”置換対象文字列A”,”置換後文字列B”)