高スコアを達成するために引き続き助けを求めてください。
要件は次のとおりです:
テーブル内の既存のコールフィールド呼び出し元
とステータスフィールドステータス
フロントデスクに表示される場合、ステータス = 有料ビュー
の場合、発信者の電話番号は 1331234 **** と表示されます(最後の 4 桁は非表示になります)
通話記録には検索機能があります
発信者はあいまい検索をサポートしています
今すぐそこにあります
13356781234 と 1331234** ** (**** は 5678 ですが、テンプレートでは **** と表示され、データベースでは 13312345678 です)
ステータスに基づいて判断する方法を質問してください = 5678 をあいまいに検索すると有料視聴
2 番目の検索が行われずに最初の 1 つだけが見つかります
-----解決策---------- -----------
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>