query - sql server



आप या दो तरह के बयान कैसे करते हैं? (4)

मैंने निम्नलिखित दो बयानों की कोशिश की है:

  • SELECT col FROM db.tbl WHERE col (LIKE 'str1' OR LIKE 'str2') AND col2 = num एक वाक्यविन्यास त्रुटि में परिणाम
  • SELECT col FROM db.tbl WHERE page LIKE ('str1' OR 'str2') AND col2 = num परिणाम "में SELECT col FROM db.tbl WHERE page LIKE ('str1' OR 'str2') AND col2 = num गलत दोहरे मूल्य: str1" और "truncated गलत दोहरे मूल्य: str2" जो प्रत्येक परिणाम की तरह दिखता है हालांकि, कोई परिणाम वास्तव में वापस नहीं आ रहे हैं

मुझे लगा कि दो बयानों में से एक काम करेगा, लेकिन वे नहीं हैं।


Answer #1
SELECT col FROM db.tbl WHERE (col LIKE 'str1' OR col LIKE 'str2') AND col2 = num

Answer #2

"OR" ऑपरेटर अभिव्यक्ति पर लागू होता है "LIKE 'str1'" और "LIKE 'str2'" मान्य अभिव्यक्ति नहीं हैं, क्योंकि "पसंद" ऑपरेटर को एक बाएं हाथ और दाएं हाथ की ओर दोनों की आवश्यकता होती है

page LIKE ('str1' OR 'str2')

पहले की कोशिश करेंगे या साथ में 'str1' और 'str2', मूल्य देकर TRUE यह तब page LIKE TRUE मूल्यांकन करने और मूल्यांकन करेगा, और एक त्रुटि की रिपोर्ट करेगा।


Answer #3

मेरा मानना ​​है कि आपको WHERE ((page LIKE 'str1') OR (page LIKE 'str2')) आवश्यकता है WHERE ((page LIKE 'str1') OR (page LIKE 'str2'))


Answer #4

सरल सोचें:

SELECT col FROM db.tbl WHERE (col LIKE 'str1' OR col LIKE 'str2') AND col2 = ...




mysql