2017-09-12 4 views
-1

私はこのこのクエリを解決するにはsql this?

select fname, idcard, left(idcard,3) as kodecard 
from tcard 
where kodecard = '200' 

ようなクエリのSQLがどのように私のクエリを解決する必要がありますか? 私は2列(fnameとidcard)しか持っていません。私はidcard列の最初の3桁でフィルタリングしたいと思います。

私に解決策を教えてください。

+1

使用しているdbmsにタグを付けます。 (いくつかの製品の詳細は...) – jarlh

+1

カドカードは文字型の列ですか?または、なぜ文字列リテラルと比較しますか? – jarlh

答えて

4

ちょうどあなたが同様LIKE使用可能な状態で

select fname, idcard from tcard where left(idcard,3) = '200' 

をごLEFT機能を使用しています。

select fname, idcard from tcard where idcard LIKE '200%' 

この解決方法は、クエリプロセッサがインデックスを使用できるようになるため、クエリプロセッサで使用できるようになります(利用可能な場合)。

関連する問題