2017-12-17 11 views
0

列のすべてのフィールドに文字列を追加する方法はありますか?文字列がない場合のみ文字列を追加する

これは私がする必要がある具体的な例です。連絡先というテーブルがあります。私はそのテーブルのウェブサイトという列を持っています。一部のWebサイトには、この形式を持っている:

http://example.com

他の人がこの形式を持っている

example.com

を事は、私はすべてのウェブサイトがhttp://example.com

このフォーマットを使用し、私がしなければならないこと必要があるということです各フィールドの先頭にhttp://を追加します。ただし、http://がまだ存在しない場合にのみ追加します。私はこのクエリでそれを行うには方法を見つけることができません。

UPDATE contacts SET website = CONCAT(website, 'http://'); 

は、それは、httpを追加します://終わりと明らかにたとえます。http://がすでに存在し、それが再びそれを追加しています。

私は何をする必要がありますか?

ありがとうございました!

答えて

1

試してください:(a)の先頭にhttp://を入れて、すでにhttp://またはhttps://または文字列に似て存在しない場合(B)のみを追加する必要があります

UPDATE contacts SET website = CONCAT('http://', website) WHERE (website != '') and (website NOT LIKE '%://%') 

+0

ありがとうございました!出来た!今私は少し問題があります。フィールドが空の場合、どうすればhttp://を追加することもできますか?すべてのフィールドにウェブサイトがあるわけではないので、空白のままにしておくと空白のままにしておきたい。ありがとう。 – eera5607

+0

UPDATEは、SETウェブサイト= CONCAT( 'http://'、ウェブサイト)のウェブサイトにアクセスしません。 '%://%'とウェブサイトではない ' – eera5607

関連する問題