質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

1634閲覧

mysqlの特定のカラムから、複数のキーワードを含まないデータを抽出したい

minoru23

総合スコア23

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

1クリップ

投稿2017/09/15 08:17

mysqlのDBで、birthdayという誕生日が保存されているカラムがあります。

その誕生日データから、「年」「月」「日」という文字(全て)が含まれていないデータを抽出したいと思っています。

下記のように試したのですがうまく抽出できませんでした。

select * from user WHERE not birthday LIKE '%年%' and '%月%' and '%日%';

どのように記述すればいいのでしょうか?

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SQL

1select * from user WHERE not birthday regexp '年|月|日';

regexp '^[^年月日]+$'

になるでしょうか

sample

念の為sampleつけておきます。
以下1,2,3が抽出されます

sql

1create table tbl (id int,val varchar(20)); 2insert into tbl values 3(1,'2017/09/19'), 4(2,'2017-09-20'), 5(3,'20170921'), 6(4,'2017年'), 7(5,'2017年9月21日'); 8select * from tbl where val regexp '^[^年月日]+$'

投稿2017/09/15 08:36

編集2017/09/19 00:58
yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

minoru23

2017/09/15 13:54

ありがとうございます。 試したところ、空の値のデータも抽出されました。 私の質問がアバウトで申し訳ございませんでした。 上記の条件に「空のデータは除外する」を加えた場合、どのようにしたらいいでしょうか。
minoru23

2017/09/16 05:52

度々ありがとうございます! select * from user WHERE not birthday regexp '^[^年月日]+$'; で試したのですが、なぜか全レコードを抽出してしまいました。
yambejp

2017/09/16 13:46 編集

notはいらないのでは?
minoru23

2017/09/16 15:02

select * from user WHERE birthday regexp '^[^年月日]+$'; で試すと「返り値が空でした(行数0) 」でした。 実データにある「8月7日」や「1989年」など、不完全なデータを抽出したいのですが、、、 私の試し方がダメなのかもしれません。もうちょっと試してみます。
yambejp

2017/09/19 00:59

一応sampleつけておきました 上手くヒットしない場合はもしかしたらキャラクターコードがおかしいかもしれないので 半角英数でテストしてみて下さい
minoru23

2017/09/25 12:44

たびたびありがとうございました! あとでテストしてみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問