Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách nhanh nhất để xóa các ký tự không phải số khỏi VARCHAR trong SQL Server

Tôi đã thấy giải pháp này với mã T-SQL và PATINDEX. Tôi thích nó :-)

CREATE Function [fnRemoveNonNumericCharacters](@strText VARCHAR(1000))
RETURNS VARCHAR(1000)
AS
BEGIN
    WHILE PATINDEX('%[^0-9]%', @strText) > 0
    BEGIN
        SET @strText = STUFF(@strText, PATINDEX('%[^0-9]%', @strText), 1, '')
    END
    RETURN @strText
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách khôi phục cơ sở dữ liệu SQL Server trên máy Mac bằng SQL Operations Studio

  2. Sử dụng PARSENAME () để trả về một phần của tên đối tượng trong SQL Server

  3. 3 cách trả về số lượng hàng trong mỗi phân vùng trong SQL Server (T-SQL)

  4. Đặt giá trị bắt đầu cho cột với tự động tăng

  5. Cách đặt tùy chọn maxrecursion cho một CTE bên trong một Table-Valued-Function