2017-03-23 22 views
0

を使用してMySQLのクエリからの結果を除外は、私は次の値を持つテーブルを持って正規表現

titles: 
Accountant 
Auditor 
Bookkeper 
Forensic Accountant 
Tax Accountant 
私はそれで「会計士」が含まれていないすべてのタイトルを選択したいと思います

、私は現在よ

SELECT * FROM careers WHERE title NOT REGEXP '^Accountant' 

としよう。しかし、それはまだ任意の考え「フォレンジック会計士」と「税理士」

を選択?

ありがとうございます!代わりに、正規表現の

+0

私は本当にMySQLでの正規表現のことは知らないが、それは '^会計士PHPのようなもの、だ場合'** Accountantで始まるすべての試合**を意味します。 '^'を削除するとどうなりますか? – roberto06

+0

正規表現はこれでも必要ですか? – Nitish

答えて

2

使用not like:正規表現が間違っている

SELECT * FROM careers WHERE title NOT LIKE '%Accountant%' 

SQLFiddle

+0

これは役に立ちますが、タイトル入力が「税務会計士」の代わりに行われた場合はどうなりますか? – Agrus

+0

@Agrus '%'は任意の文字を意味するので、除外されます。 – Jens

0

を参照してください、あなたは、あなたが除いている言葉は、会計士に開始すべきことを意味する、キャレット(^)を使用しています代わりにキャレットを削除してください。

SELECT * FROM careers WHERE title NOT REGEXP 'Accountant' 

選択したジョブのタイトルに基づいて、除外する項目を選択します次のあなたは、このように代わりREGEXPのように使用することができます

SELECT * FROM careers WHERE title NOT REGEXP (SELECT regexMatch FROM careers WHERE title = "Tax Accountant") 
+0

「税務会計士」も除外する必要があります。 – user1898027

+0

例: SELECT * FROM職種WHEREタイトルNOT REGEXP 'Tax Accountant' "Accountant"と "Forensic Accountant"がまだ取り出されています – Agrus

+0

はい、アカウントと法医務担当者は "Tax Accountant"と一致しません。 「税務会計士」がいて、会計士だけですべての結果を除外したいのであれば、それがどのような文脈であるかを知る必要があります。なぜ「税務会計士」を試してみますか? – user1898027

0

ような何かを:

SELECT * FROM careers WHERE title NOT LIKE '%Accountant%'; 
+0

私のエントリを編集する代わりに、私は削除をクリックしました – Agrus

+0

私はあなたの答えをコピーしていません。 – Shefali

関連する問題