2017-09-12 45 views
-1

我有这样如何解决这个查询sql这个?

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

查询SQL如何解决我的查询? 我只有2列(fname和idcard),我想过滤idcard列中的前三位数字。

你能给我一个解决方案吗?

+1

标记您正在使用的dbms。 (有些产品细节...) – jarlh

+1

kodecard是字符类型列吗?或者,你为什么要比较字符串文字? – jarlh

回答

4

只需使用你LEFT功能状态

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

您可以使用LIKE为好。

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

该解决方案更好,因为它允许查询处理器使用索引(如果可用)。