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

एक स्ट्रिंग से केवल संख्याएँ प्राप्त करने की क्वेरी

सबसे पहले यह UDF बनाएं

CREATE FUNCTION dbo.udf_GetNumeric
(
  @strAlphaNumeric VARCHAR(256)
)
RETURNS VARCHAR(256)
AS
BEGIN
  DECLARE @intAlpha INT
  SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
  BEGIN
    WHILE @intAlpha > 0
    BEGIN
      SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )
      SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric )
    END
  END
  RETURN ISNULL(@strAlphaNumeric,0)
END
GO

अब function का उपयोग करें के रूप में

SELECT dbo.udf_GetNumeric(column_name) 
from table_name

एसक्यूएल फिडल

मुझे आशा है कि इससे आपकी समस्या हल हो गई।

संदर्भ



  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 सर्वर 2014 की खोज समानांतरवाद में चुनें

  2. SQL सर्वर पर LIKE बनाम CONTAINS

  3. SELECT INTO . में ORDER BY संरक्षित करना

  4. Transact SQL में NOT EXISTS के विपरीत EXCEPT का उपयोग कब करें?

  5. SQL सर्वर में स्वचालित डेटाबेस परीक्षण पुनर्स्थापित करें