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

SQL:loại bỏ dấu phẩy cuối cùng trong chuỗi

Sử dụng REVERSESTUFF :

SELECT
    REVERSE(
        STUFF(
            REVERSE(LTRIM(RTRIM(INETSHORTD))), 
            1, 
            CASE WHEN SUBSTRING((REVERSE(LTRIM(RTRIM(INETSHORTD)))), 1, 1) = ',' THEN 1 ELSE 0 END, 
            ''
        )
    )
FROM tbl

Trước tiên, bạn muốn TRIM dữ liệu của bạn để loại bỏ các khoảng trắng ở đầu và cuối. Sau đó, REVERSE nó và kiểm tra xem ký tự đầu tiên có phải là , không . Nếu có, hãy loại bỏ nó, nếu không thì không làm gì cả. Sau đó, REVERSE nó trở lại một lần nữa. Bạn có thể xóa ký tự đầu tiên bằng cách sử dụng STUFF(string, 1, 1, '') .

SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NOLOCK có phải là mặc định cho câu lệnh SELECT trong SQL Server 2005 không?

  2. Làm cách nào để tách một chuỗi được phân cách trong SQL Server mà không cần tạo hàm?

  3. Làm cách nào để tăng kích thước tệp đính kèm tối đa được phép cho email được gửi bằng msdb.dbo.sp_send_dbmail trong Microsoft SQL Server 2005/2008

  4. Tìm kiếm trong SQL Management Studio 2005

  5. Tìm sự phụ thuộc của cột