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

Loại bỏ dấu vết:ký tự khỏi một hàng trong bảng SQL

Bạn có thể sử dụng STUFF hàm thay thế các phần của một chuỗi. Trong trường hợp này, nó là ký tự cuối cùng.

UPDATE tbl
SET COL = stuff(COL, len(COL), 1, '')
WHERE COL > ''

Hoặc sử dụng LEFT, lấy tất cả trừ cái cuối cùng. Điều kiện COL> '' đảm bảo LEFT sẽ có độ dài hợp lệ. LEFT là một lối tắt trong SQL Server và dường như được triển khai dưới dạng SUBSTRING ( xem thêm bên dưới) *

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE COL > ''

Nếu bạn có cả dữ liệu có và không có dấu chấm phẩy ở cuối, bạn có thể nhắm mục tiêu chúng một cách cụ thể

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE RIGHT(COL,1) = ':'

Đây là kế hoạch truy vấn cho một truy vấn sử dụng LEFT (chỉ 3 dòng trên cùng của kế hoạch văn bản được hiển thị)

select LEFT(text, LEN(text)-1), * from master..syscomments


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn các hàng trên cùng cho đến khi giá trị trong cột cụ thể xuất hiện hai lần

  2. Cách làm tròn (LÊN / XUỐNG) trong SQL Server - 5 mẹo hữu ích

  3. Cách lấy danh sách các Bảng không có Ràng buộc Khóa Chính trong Cơ sở dữ liệu SQL Server - Hướng dẫn SQL Server / T-SQL Phần 58

  4. Hiểu hàm PIVOT trong T-SQL

  5. cách ly một chuỗi con trong một chuỗi trước một ký hiệu trong SQL Server 2008