私はMySQLテーブルを持っており、そこからいくつかのフィールドを取得する必要があります。 H_
とHP_
を含む文字列が必要です。別々に2つのクエリを使用します。MySQL - 文字列の検索に "_"が含まれています。
しかし、問題はアンダースコアがワイルドカードにあり、正しい結果が見つからないということです。
HP_
SELECT nc.`logname`, nc.`client_id`, nc.`Customer_Name`, cb.`bwm_day_cir_upload`, cb.`bwm_day_cir_download`
FROM `new_client` nc
LEFT JOIN `client_bandwidth` cb ON cb.`client_id` = `nc`.`client_id`
WHERE nc.`logname` LIKE '%HP_%' AND nc.`Active` = 'y' ORDER BY TRIM(UPPER(nc.`logname`))
「\ _」をエスケープします。 – lad2025
そして、このような問題に遭遇したときには、まずドキュメントをチェックする価値があります。 [like'のMySQLのドキュメント](https://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html#operator_like):_ "ワイルドカード文字のリテラルインスタンスをテストするには、 'ESCAPE'文字を指定しないと' \\ 'とみなされます。" _ –
@MarkRotteveel、提案をありがとう。 –