MySQL(versionは4.0.27)の質問です。

field1 like '%VA%'という条件式を書くとfield1に'VA'が含まれるレコードが抽出されます。
では、逆にフィールドの値が定数と部分一致するレコードを取得したい場合(無理矢理式にすると'VALUE' like '%' + field1 + '%' みたいな感じ)、SQLだけで取得する方法はあるでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2006/12/27 23:37:48
  • 終了:2006/12/28 00:33:10

ベストアンサー

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402006/12/28 00:11:48

ポイント100pt

http://dev.mysql.com/doc/refman/4.1/ja/string-comparison-functio...

特に右辺が変数であってはいけないルールはないはずなので、

SELECT * FROM tabel WHERE 'VALUE' LIKE CONCAT('%',field1,'%');

で可能とは思います。

ただ、インデックスは使えないので常にフルテーブルスキャンになりますが。

id:dambiyori

おおっ、出来ました。文字の結合さえ出来てしまえば右左辺関係ないんですね。ありがとうございます。

2006/12/28 00:32:15

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません