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

SQL सर्वर 2008 खाली स्ट्रिंग बनाम स्पेस

varchar s और समानता TSQL में कांटेदार हैं। LEN फ़ंक्शन कहता है:

<ब्लॉकक्वॉट>

दिए गए स्ट्रिंग एक्सप्रेशन के बाइट की संख्या के बजाय वर्णों की संख्या देता है, पिछली जगह को छोड़कर

आपको DATALENGTH . का उपयोग करना होगा एक सही byte प्राप्त करने के लिए प्रश्न में डेटा की गिनती। यदि आपके पास यूनिकोड डेटा है, तो ध्यान दें कि इस स्थिति में आपको जो मान मिलेगा वह टेक्स्ट की लंबाई के समान नहीं होगा।

print(DATALENGTH(' ')) --1
print(LEN(' '))        --0

जब भावों की समानता की बात आती है, तो समानता के लिए दो तारों की तुलना इस प्रकार की जाती है:

  • छोटा स्ट्रिंग प्राप्त करें
  • रिक्त स्थान वाला पैड जब तक लंबाई लंबी स्ट्रिंग के बराबर न हो
  • दोनों की तुलना करें

यह मध्य चरण है जो अप्रत्याशित परिणाम दे रहा है - उस चरण के बाद, आप व्हाइटस्पेस के विरुद्ध व्हाइटस्पेस की प्रभावी रूप से तुलना कर रहे हैं - इसलिए उन्हें बराबर देखा जाता है।

LIKE = . से बेहतर व्यवहार करता है "रिक्त" स्थिति में क्योंकि यह उस पैटर्न पर रिक्त-पैडिंग नहीं करता है जिसे आप मिलान करने का प्रयास कर रहे थे:

if '' = ' '
print 'eq'
else
print 'ne'

eq देगा जबकि:

if '' LIKE ' '
print 'eq'
else
print 'ne'

ne देगा

LIKE . से सावधान रहें हालांकि:यह सममित नहीं है:यह पिछली सफेद जगह को पैटर्न (आरएचएस) में महत्वपूर्ण मानता है लेकिन मिलान अभिव्यक्ति (एलएचएस) नहीं। निम्नलिखित यहाँ से लिया गया है:

declare @Space nvarchar(10)
declare @Space2 nvarchar(10)

set @Space = ''
set @Space2 = ' '

if @Space like @Space2
print '@Space Like @Space2'
else
print '@Space Not Like @Space2'

if @Space2 like @Space
print '@Space2 Like @Space'
else
print '@Space2 Not Like @Space'

@Space Not Like @Space2
@Space2 Like @Space


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL डेटाबेस पुनर्प्राप्ति लंबित पहुँच अस्वीकृत समस्या को ठीक करें

  2. जहां क्लॉज IN से पहले और जॉइन या बाद में बेहतर तरीके से निष्पादित होता है

  3. SqlConnection.Close () स्टेटमेंट का उपयोग करके अंदर

  4. SQLDiag टूल का उपयोग करके प्रदर्शन डेटा एकत्र करें | SQL सर्वर प्रदर्शन समस्या निवारण -6

  5. SQL सर्वर, भ्रामक XLOCK और अनुकूलन