• ベストアンサー

【mysql】SQL文中で使える文字列関数

たとえば “ITEM”テーブルから、 “CODE”というカラム(文字列20桁)の 左から3文字目~6文字目の4桁が“ABCD”という文字のもの を抜き出したいと思っております。 その場合、どのようなSELECT文を書けばよいのでしょうか。 ご存知の方いらっしゃいましたらご教示願います。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

#1さんの補足 SELECT * FROM `ITEM` WHERE `CODE` LIKE '__ABCD%'; SELECT * FROM `ITEM` WHERE SUBSTRING(`CODE`,3,4)='ABCD'; でできますが、すべてインデックスはききませんので 効率的にやりたいなら、最初からそのようなテーブル構成を 意識した構造にしなくてはいけません。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

select * from ITEM where INSTR( CODE, 'ABCD' ) = 4; ――とか。 SUBSTRING()使ったりLIKE使ったりする手も。

関連するQ&A