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

एसक्यूएल सबस्ट्रिंग को दशमलव में कैसे डालें?

यह कितना कारगर होगा, इसके बारे में मत सोचिए:

Select convert(decimal(28,10), rtrim(ltrim(replace(REPLACE(AdditionalDescription,'%',''), ',','.')))) As AdditionalDescription
from PriceTerm 
where AdditionalDescription like '%[%]%'

व्याख्या:

  1. स्पेस से बदलकर % निकालें
  2. , .
  3. किसी भी अग्रणी या पिछली जगह को हटा दें।
  4. decimal(28, 10) में कनवर्ट करें ।

अपडेट करें:

ओपी द्वारा अतिरिक्त जानकारी के अनुसार।

Select 
convert(decimal(28,10),replace(replace(replace(rtrim(ltrim(AdditionalDescription)), ' ',''),',','.'),'%','')) AS PercentAddition
from test 
where replace(rtrim(ltrim(AdditionalDescription)), ' ','')
like '[0-9]%[,.]%[%0-9]'
and 
isnumeric(replace(replace(replace(rtrim(ltrim(AdditionalDescription)), ' ',''),',','.'),'%',''))=1

'[0-9]%[,.]%[%0-9]' . की व्याख्या :

  • [0-9] - हम केवल तभी रुचि रखते हैं जब डेटा किसी संख्या से शुरू होता है।
  • % - संख्या के बाद इसमें कोई भी वर्ण हो सकता है। हम isnumeric . के साथ गैर-संख्यात्मक का ध्यान रखते हैं where . में खंड।
  • [,.] - हमारे पास , . के लिए डेटा है या .
  • % - [,.] . के बाद इसमें कोई भी वर्ण हो सकता है। हम isnumeric . के साथ गैर-संख्यात्मक का ध्यान रखते हैं where . में खंड।
  • [%0-9] - हम चाहते हैं कि डेटा या तो एक अंक के साथ समाप्त हो या %

नोट: आपको संशोधित करना होगा '[0-9]%[,.]%[%0-9]' जैसे-जैसे आपको और बुरे पात्र मिलते हैं।

संदर्भ:

  1. SQLFiddle के साथ खेलने के लिए:http://sqlfiddle.com/#!3/09a34 /4
  2. LIKE - http://msdn.microsoft.com /en-us/लाइब्रेरी/ms179859(v=sql.90).aspx


  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 सर्वर 2008:मैं उपयोगकर्ता नाम को विशेषाधिकार कैसे प्रदान करूं?

  2. SCOPE_IDENTITY () का चयन पूर्णांक के बजाय दशमलव क्यों करता है?

  3. विभिन्न सर्वरों पर दो डेटाबेस में दो तालिकाओं को जोड़कर डेटा की क्वेरी करना

  4. डायनेमिक sql स्टेटमेंट में टेबल वेरिएबल का उपयोग कैसे करें?

  5. डेटाबेस में खाली टेबल कैसे गिनें?