Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर:IN ('asd') कॉलम NTEXT होने पर काम नहीं कर रहा है

एक IN सूची OR शर्तों के लिए संक्षिप्त है। LIKE क्लॉज NTEXT के साथ काम करता है और TEXT खेत। तो, आप ऐसा करने के लिए उन दो विचारों को जोड़ सकते हैं:

WHERE (
       someNtext LIKE N'asd'
OR     someNtext LIKE N'asd1'
      )

हालांकि, जैसा कि @marc_s ने प्रश्न पर एक टिप्पणी में सुझाव दिया है, NVARCHAR(MAX) पसंद किया जाता है क्योंकि सभी स्ट्रिंग फ़ंक्शन इसके साथ काम करते हैं (और TEXT , NTEXT , और IMAGE डेटाटाइप को SQL सर्वर 2005 के रूप में बहिष्कृत कर दिया गया है)। आप कर सकते थे इनलाइन कन्वर्ट करें जैसे:

WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')

लेकिन संभावना है कि यह LIKE . का उपयोग करने के साथ-साथ प्रदर्शन नहीं करेगा OR . के साथ क्लॉज शर्तें।

कृपया ध्यान दें: NTEXT . के साथ काम करते समय / NVARCHAR / NCHAR / XML डेटा, हमेशा . के लिए सर्वोत्तम है अपरकेस "एन" के साथ उपसर्ग स्ट्रिंग अक्षर। ऐसा नहीं करने से किसी भी वर्ण के लिए डेटा हानि हो सकती है जो डेटाबेस के डिफ़ॉल्ट संयोजन से जुड़े कोड पृष्ठ द्वारा समर्थित नहीं है।

SQL सर्वर में सामान्य रूप से कोलेशन/एन्कोडिंग/यूनिकोड/स्ट्रिंग्स के साथ काम करने के बारे में अधिक जानकारी के लिए, कृपया देखें:https://Collations. जानकारी/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Microsoft SQL सर्वर आपदा पुनर्प्राप्ति सर्वोत्तम अभ्यास

  2. अनाम बाधाओं को छोड़ना

  3. SQL सर्वर में रनिंग टोटल की गणना करें

  4. SQL सर्वर 2005 में .NET संग्रहीत कार्यविधियों के लिए डिफ़ॉल्ट पैरामीटर मान/वैकल्पिक पैरामीटर

  5. SQL सर्वर डेटाबेस में प्राथमिक कुंजी बाधा क्या है - SQL सर्वर / T-SQL ट्यूटोरियल भाग 54