2012-02-08 6 views
0

フィールドDESCの37桁目に 'OE'の値を持つレコードを選択するにはどうすればよいですか?フィールドの正確な位置に特定の値を持つレコードを選択するにはどうすればよいですか?

私はこの、文

select DESC 
from TABLEA 
where DESC like '%OE%' 

を使用して必要なレコードを見つけることができますしかし、それはまた、DESC内の他の位置に配置OEを持つレコードが返されます。これは不正確な結果を作ります。

私は2005年

+1

私はDESCの部分文字列がそれを行うと信じています。http://msdn.microsoft.com/en-us/library/ms187748(v=sql.90).aspx – Dan

+7

DESCはひどい列名です。 ORDER BY句で使用される予約語。 –

+0

@PMV GREAT POINT –

答えて

7
select [DESC] 
from TABLEA 
where substring([desc], 37, 2) = 'OE' 

SUBSTRING Function (MSDN Reference) MS SQLを使用しています。あなたは、文字列内の特定の位置で2つの文字をテストしたい場合は

SUBSTRING (value_expression , start_expression , length_expression) 

は、その後、あなたはSUBSTRING()機能を使用することができます。

+0

ありがとう、それは素晴らしい作品です! – mkgiblin

+0

@mkgiblin喜んで助けてください!あなたの解決策であればこれを答えにしてください。 :) –

関連する問題