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

解決済みの質問

SQL文にて・・・

質問があります。PostgreSQLです。
テーブル(test_tbl)があるとします。
テーブル構成は
---------------------------
id ===== char(16) [英数文字格納]
point ==== int2
add_date ==== timestamp
---------------------------
このテーブルから
idが2文字目から'di6ek68dh5ls7g'のレコードを取得したいと考えています。
レコード数がかなりおおいので
パフォーマンスを重視したいのですが、
検索SQLがわかりません。
select * from test_tbl
where id like '%di6ek68dh5ls7g'だとでると
おもうのですが、
これ以上にパフォーマンスがあがる
SQLがわかる方お願いいたします。

投稿日時 - 2003-08-15 11:39:34

QNo.628356

すぐに回答ほしいです

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

SUBSTRING関数ですかねぇ。
SUBSTRING(a,b,c)
aの文字列の、b文字目からc文字分抽出します。
cを省略すると、最後までになります。

今回の場合は
SELECT * FROM test_tbl
WHERE SUBSTRING(id,2) = 'di6ek68dh5ls7g'


likeはパフォーマンス低下につながりますので、
なるべく使わないよう頑張りましょう~


# OracleならSUBSTR関数、AccessだとMID関数です。

投稿日時 - 2003-08-15 11:57:22

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

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

回答(1)

あなたにオススメの質問