2012-04-30 20 views
5

मेरे पास एक डेटाबेस तालिका का नाम test123 है और कॉलम name है। ऐसा क्यों हुआसरल चयन कथन कोई परिणाम नहीं देता

select * from test123 where name = 'nir,kal,man'; 

लेकिन यह किसी भी परिणाम नहीं लौटाएगा ...: और यह, अब 'nir,kal,man' की तरह डेटा होता है जब मैं नीचे के अनुसार चयन बयान के साथ तालिका में जानना चाहते रहा हूँ।? मुझे क्वेरी कैसे लिखनी है ताकि परिणाम वापस आ जाए? मैं एसक्यूएल सर्वर 2008 का उपयोग कर रहा हूं।

धन्यवाद ...!

+1

क्या 'निर, काल, आदमी' एक ही नाम है, या तीन अलग-अलग नाम 'शून्य', 'कल', 'मैन'? !!! मुझे लगता है कि आप कहीं भी 'स्पेस' गायब हैं। 'LIKE' ऑपरेटर के साथ क्वेरी जांचें .. –

उत्तर

5

= ऑपरेटर सटीक मिलान देता है, इसलिए यदि आपके सेल डेटा होते हैं "की तरह" आप LIKE ऑपरेटर का उपयोग करने की आवश्यकता है कि:

select * from test123 where name like '%nir,kal,man%' 

जहां % पात्रों के किसी समूह के साथ प्रतिस्थापित किया जाएगा।

भी जांच करें कि आपने पूरा नाम का उपयोग करके सही डेटाबेस को लक्षित कर रहे

select * from yourdb.dbo.test123 where.... 
3

अगर Nir 2 पंक्ति में पहली पंक्ति कल में है और आदमी 3 पंक्ति में है तो आप इस

जैसी क्वेरी लिखना चाहिए
select * from test123 where name in ('nir','kal','man') 
+0

मैंने इसे आजमाया है लेकिन मेरे लिए काम नहीं कर रहा है। –

+0

बस test123 से 'select * को बदलें जहां नाम = (' nir ',' kal ',' man ')' to 'select * test123 से जहां नाम IN (' nir ',' kal ',' man ') '-) –

संबंधित मुद्दे