人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLについて質問です。

【commentTbl】
no ・・・連番。オートインクリメント
title ・・・件名。文字列型(varchar)
message ・・・メッセージ。文字列型(text)
sta ・・・状態。1は表示。0は非表示

上記のようなコメントを管理するテーブルにて、messageに3つ以上url(http://・・・)を含んでいる書き込みは、
ほぼスパムなので、これのstaを0にするSQL文を書くにはどうすればよいでしょうか?

ご教授よろしくお願いいたします。

使用SQL【MySQL5】


●質問者: ruijio
●カテゴリ:インターネット ウェブ制作
✍キーワード:http:// MESSAGE SQL URL コメント
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● きゃづみぃ
●60ポイント ベストアンサー

UPDATE

sta = 0

WHERE

LENGTH(REPLACE(message,'http://'.'')) + LENGTH('http://')*2 < LENGTH(message)


未確認ですが こんな感じにすればいいかと思います。

まず、messageに含まれている 'http://'を 無くします。

そうすると 当然 文字数が 短くなります。

'http://'の2つ分よりも 短くなれば 'http://'が 3つ以上あることになります。

このとき staを 0にします。

◎質問者からの返答

ご回答ありがとうございます。

最初うまくできませんでしたが、「message,'http://'.''」のドットをカンマに変えたら無事に動きました。

こういう方法もあるんですね!

勉強になりました。ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ