高得点を取り続ける

WBOY
WBOYオリジナル
2016-06-13 13:29:381043ブラウズ

高スコアを達成するために引き続き助けを求めてください。
要件は次のとおりです:
テーブル内の既存のコールフィールド呼び出し元
とステータスフィールドステータス

フロントデスクに表示される場合、ステータス = 有料ビュー
の場合、発信者の電話番号は 1331234 **** と表示されます(最後の 4 桁は非表示になります)

通話記録には検索機能があります
発​​信者はあいまい検索をサポートしています

今すぐそこにあります
13356781234 と 1331234** ** (**** は 5678 ですが、テンプレートでは **** と表示され、データベースでは 13312345678 です)
ステータスに基づいて判断する方法を質問してください = 5678 をあいまいに検索すると有料視聴
2 番目の検索が行われずに最初の 1 つだけが見つかります

-----解決策---------- -----------

SQL コード
select * from table where table.column like '%5678%' and status ='Paid to view'
<br><font color="#e78608">------解決策---------</font><br>左の場所にある上位 7 つだけを検索します(呼び出し元、 7) '%...%' のような
<br><font color="#e78608">------解決策---------</font><br>WHERE (ステータス = '有料視聴' && LEFT (caller,7) like '%…%') OR (status !='pay to view' caller like '%…%')<br><br>これはどういう意味ですか?
<br><font color="#e78608">------解決策---------</font><br>末尾に「%5678」のようなものだけが表示されます<br>最初にのみ表示される「133%」のように<br><br>mysqlには正規表現があり、使用できます<br><br>要件の説明が明確ではありません
<br><font color="#e78608">------解決策----------------------</font><br> 上記すべてで AND を使用します ()
<br><font color="#e78608">------解決策----------------------</font><br>変更する方法はありません<br><br>SUBSTR(field, 1, LENGTH(field)-4) like '%...%'<br><br>支払うかどうかについては、PHP コードで SQL ステートメントを制御するときに決まります
<br><font color="#e78608">------解決策---------</font><br>LEFT 関数は同じで、フィールド長を取得します, 最後の 4 桁を削除します <br><br> ここには長さだけを除いてすべての数字が入っています。
<br><font color="#e78608">------解決策------------------</font><br>
amani11:大丈夫です<br>いいんじゃないですか? <br><br><br><br>WHERE (ステータス = '有料視聴' AND SUBSTR(field, 1, LENGTH(field)-4) like '%....%') OR (ステータス!= '有料視聴' ' および呼び出し元 like '%...%')<br><br> <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。