2012-08-07 15 views
7
SELECT * FROM abc WHERE column1 IN (a1,b1,c1) 

मैं इस चयन क्वेरी के साथ LIKE का उपयोग करना चाहता हूं; नीचे दिए गए प्रश्न के समान, मैं INK के साथ LIKE कथन कैसे लिख सकता हूं:डीबी 2 में IN के साथ LIKE का उपयोग कैसे करें?

SELECT * FROM abc WHERE column1 LIKE IN (a%,b%,c%) 

उत्तर

6

आप नहीं कर सकते। यह लिखें के रूप में:

column1 LIKE 'a%' OR column1 LIKE 'b%' OR column1 LIKE 'c%' 
8

आप in साथ like गठबंधन नहीं कर सकते। इसे अलग तुलना के रूप में लिखें:

select column1 
from abc 
where column1 like 'a%' or column1 like 'b%' or column1 like 'c%' 
2

जैसा कि अन्य लोगों का कहना है कि आप शर्तों को निर्दिष्ट करने के लिए शर्तों की एक सूची का उपयोग कर सकते हैं।

आप खंड से अस्थायी तालिका या सबक्वायरी का भी उपयोग कर सकते हैं। यहां खंड से उपखंड का एक उदाहरण दिया गया है:

select column1 
    from abc 
    , table(
     (select 'a%' as term from SYSIBM.SYSDUMMY1) 
     union all 
     (select 'b%' from SYSIBM.SYSDUMMY1) 
     union all 
     (select 'c%' from SYSIBM.SYSDUMMY1) 
    ) search_list 
    where abc.column1 like search_list.term; 
+0

मैं डीबी 2 विशेषज्ञ नहीं हूं। खंड से यह सबक्वायरी एएनएसआई सिंटैक्स नहीं है। –

+0

डीबी 2 में यह शायद कुछ ऐसा होगा ... एबीसी से, (एसईएसआईबीएम से कुछ शब्द 'चुनें'। एसएसआईएसयूएमएम 1 यूनियन सभी एसआईएसआईबीएम से वाई 'बी' 'चुनें। वाईएसडीयूएमएम 1 यूनियन सभी सीआईएसआईबीएम.वाईएसडीयूएमएम 1 से' सी% 'चुनें' search_list जहां ... ' –

+0

SYSIBM.SYSDUMMY1 के साथ संपादित किया गया (मुझे लगता है कि MySQL या Oracle में DROM से समतुल्य है) –