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

एसक्यूएल सर्वर 2008:किसी फ़ील्ड से सबस्ट्रिंग का चयन करें

इसे 2 चरणों में विभाजित करें:

  1. संख्या की शुरुआत तक सब कुछ छोड़ दें (यहाँ मैंने 3 अंक न्यूनतम मान लिए हैं)
  2. फिर सब कुछ अगले गैर-संख्यात्मक अंक तक ले जाएं

आपको LEFT के लिए एक CASE की आवश्यकता होगी क्योंकि संख्या अंत में है क्योंकि PATINDEX शून्य पर लौटेगा

DECLARE @MyTable TABLE (bigstring varchar(200))
INSERT @MyTable VALUES ('F:\MassHunter\DATA\6897_Pan_1\QuantResults\6897_Pan_1.batch.bin')
INSERT @MyTable VALUES ('F:\MassHunter\DATA\6897_Pan_1\QuantResults\6897_Pan_1.batch.bin')
INSERT @MyTable VALUES ('10914_Excel Short Summary.xls')

SELECT  --assumes number not at end of string
    LEFT(startOf, PATINDEX('%[^0-9]%', startof)-1)
FROM
    (
    SELECT  --assumed 3 digits minimum
        SUBSTRING(bigstring, PATINDEX('%[0-9][0-9][0-9]%', bigstring), 8000) AS startOf
    FROM
        @MyTable
    ) foo



  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 Server 2008 में सभी कॉलम नामों में ISNULL का उपयोग कैसे कर सकते हैं?

  2. वर्चर और nvarchar SQL सर्वर डेटा प्रकारों के बीच मुख्य प्रदर्शन अंतर क्या हैं?

  3. SQL कथन - अनुक्रमण के साथ गति को कैसे सुधार सकते हैं

  4. एमएस एसक्यूएल 2008 - डीबी में सभी टेबल नाम और उनकी पंक्ति गणना प्राप्त करें

  5. एक्सेल से SQL सर्वर 2008 में आयात करते समय डेटा प्रकारों को परिवर्तित करने में त्रुटि