こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

mysqlでLIKEで検索について

KEYIDでKから始まるものを探そうと思っていますが、1件しか表示されず困っております。
**********************************
KEYID(カラム名)
K1001
K1002
K1003

select * from テーブル名 Where KEYID LIKE 'K%'

[実行結果]
K1001
**********************************

投稿日時 - 2016-11-19 21:05:12

QNo.9257754

すぐに回答ほしいです

質問者が選んだベストアンサー

では
select * from テーブル名 Where KEYID NOT LIKE 'K%'
の結果はどうなりますか?
K1002やK1003も含まれますか?

投稿日時 - 2016-11-21 10:43:01

補足

キャッシュの問題でした。
消してやり直したら正常に動いてくれました。

投稿日時 - 2016-12-13 17:11:46

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

例えば、
K1002の'K'が 全角で登録されてしまっているとか、
SQLの後ろに  limit 1 を 付けているとか。

投稿日時 - 2016-11-22 12:04:47

ANo.2

>すいません、言い忘れました!!上記はすでに確認済みです!!

で、「select * from テーブル名」を確認してどうなったのですか。何件ですか?


>全文一致の場合(K1002を指定した時)も確認済みで正常に動作します。

それはどうでもいいです。

投稿日時 - 2016-11-20 01:41:39

補足

>で、「select * from テーブル名」を確認してどうなったのですか。何件ですか?

レコードは全件表示されて正常に動きました。

投稿日時 - 2016-11-20 10:21:01

お礼

キャッシュの問題でした。
消してやり直したら正常に動いてくれました。

投稿日時 - 2016-12-13 17:11:29

ANo.1

SQLは間違っていません。そのデータとそのSQLなら3件表示されます。

1件しか表示されていないように思えるのは、
・データが違う
・SQLが違う
・SQLの実行の仕方がおかしい
・確認の仕方がおかしい
のどれかです。

とりあえずwhere句なしの「select * from テーブル名」でどうなるか確認してみましょう。

投稿日時 - 2016-11-19 21:52:06

補足

>とりあえずwhere句なしの「select * from テーブル名」でどうなるか確認してみましょう

すいません、言い忘れました!!上記はすでに確認済みです!!
全文一致の場合(K1002を指定した時)も確認済みで正常に動作します。
部分検索になると正常に動きません。

投稿日時 - 2016-11-19 23:52:36

あなたにオススメの質問