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

विशेष वर्णों और संख्याओं को हटाने के लिए बेहतर समाधान की आवश्यकता है

आप अपने फ़ंक्शन को एक WHILE लूप में सरल बना सकते हैं:

DECLARE @String NVARCHAR(MAX) = '231323Lig%$%$h$%t'
DECLARE @Expression NVARCHAR(32) = '%[^A-Z]%'

WHILE PATINDEX(@Expression, @String) > 0
    SET @String = STUFF(@String, PATINDEX(@Expression, @String), 1, '')

RETURN @String

एक CLR कार्य शुद्ध टी-एसक्यूएल कार्यान्वयन से तेज हो सकता है।

Regex.Replace(str, "[^a-zA-Z]+", "", RegexOptions.Compiled)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वर्तमान अनुक्रमणिका को स्वचालित रूप से छोड़ें और पुन:बनाएँ

  2. लाल गेट से SQL स्रोत नियंत्रण का उपयोग करने वाला कोई भी व्यक्ति

  3. SQL सर्वर - WHERE क्लॉज में CASE का उपयोग करना

  4. SQL Server 2008 में हटाए गए और सम्मिलित तालिका की तुलना करें

  5. यह जांचा जा रहा है कि दी गई तारीख कई तारीखों के बीच फिट बैठती है या नहीं