Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Permintaan untuk mendapatkan hanya angka dari string

Pertama buat UDF ini

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

Sekarang gunakan function sebagai

SELECT dbo.udf_GetNumeric(column_name) 
from table_name

SQL FIDDLE

Saya harap ini menyelesaikan masalah Anda.

Referensi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat Batasan Unik pada Beberapa Kolom di SQL Server - Tutorial SQL Server / TSQL Bagian 96

  2. Bagaimana menjalankan prosedur tersimpan setiap hari di SQL Server Express Edition?

  3. Cara Mengubah Nomor Urutan Akun Email Database dalam Profil di SQL Server (T-SQL)

  4. UPDATE jika ada INSERT lain di SQL Server 2008

  5. Penggantian ISNUMERIC() yang efisien di SQL Server?