2014-01-28 64 views
0

我有一个表structe像belwo,蒙山数据与我的表OBJECTID获得该行正确的数据

SELECT 
    OBJECTID, MODEL 
FROM 
    VEND_REPORTS.CHILD_APP_DATA 
WHERE 
    OBJECTID= '1257300'; 

采样值组合:

objectid model 
1257300 CVC Town Car (2004-)-2006 
1257300 CVC Town Car (2004-)-2005 
1257300 CVC Town Car (2004-)-2008 
1257300 CVC Town Car (2004-)-200 

的方式,我希望看到的数据只是挑 2004-208 cvc镇车

我试过几件事情,但似乎没有任何工作 任何起点将是伟大的。在此先感谢

+0

你的意思是你想选择模型'CVC镇车(2004 - ) - 2008'的行? – harshal

+0

是的,但也有其他列具有相同的数据类型,但不同的值,所以真正的caint在这里做硬编码 – Awais

回答

0

检查,如果这可以帮助你,

select objectid, model 
from VEND_REPORTS.CHILD_APP_DATA 
where model like '%2004-208 cvc town car%' 

更新:新的建议

如果模型值的格式是固定的像

 "CVC Town Car (" "year" "-)-" "year"
,您可以根据固定的子串串的用户分裂

如果模型值的格式不固定,则使用正则表达式来查找一系列连续的4位数字,因此您最终会得到两个数字。

+0

这并没有帮助你硬编码值我不想要的,我想通过对象ID分组,然后选择从最小编号到最大编号(2004-2008 cvc town car)为此对象ID。 – Awais

+0

您正在寻找处理模型列数据之前选择它..正确的!就像你想打破varchar“CVC Town Car(2004 - ) - 2008”一样,你可以检查2004年和2008年? – harshal

+0

你可以去更多的解释,我已经理解了我会建议使用PL/SQL普通SQL不会帮你很多这个要求。 – harshal