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

Cách xóa các ký tự đứng đầu và theo sau trong SQL Server

Trong SQL Server, TRIM() hàm thường được sử dụng để loại bỏ khoảng trắng đầu và cuối khỏi một chuỗi. Nhưng bạn có biết rằng bạn cũng có thể xóa các ký tự khác khỏi đầu / cuối của một chuỗi không? Nó không nhất thiết phải có khoảng trắng.

TRIM() là một hàm T-SQL loại bỏ đặc biệt ký tự khoảng trắng char(32) hoặc các ký tự được chỉ định khác từ đầu hoặc cuối của một chuỗi.

Cú pháp

Cú pháp như sau:

TRIM ( [ characters FROM ] string )

Chuỗi string đối số là đối số bắt buộc - nó là chuỗi thực tế cần cắt.

Các ký tự characters FROM là một đối số tùy chọn là bit cho phép bạn chỉ định những ký tự nào sẽ được xóa (giả sử bạn không chỉ xóa ký tự khoảng trắng). Nếu bạn không chỉ định ký tự nào thì ký tự khoảng trắng sẽ bị cắt bớt.

Ví dụ

Dưới đây là một ví dụ cơ bản về cách cắt các dấu bằng ở đầu và cuối (= ) từ một chuỗi:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Kết quả

Result  
--------
SPECIALS

Nhiều trường hợp của một ký tự

Nó cũng cắt nhiều phiên bản của ký tự được chỉ định.

Ví dụ:

SELECT TRIM('=' FROM '===SPECIALS===') AS Result;

Kết quả:

Result  
--------
SPECIALS

Cắt nhiều ký tự

Nó cũng cho phép bạn cắt nhiều ký tự.

Ví dụ:

SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;

Kết quả:

Result  
--------
SPECIALS

Khoảng trắng được nhúng

Nếu khoảng trắng tồn tại bên trong / các ký tự được cắt bớt, đừng mong đợi khoảng trắng đó bị cắt bớt (trừ khi bạn cũng chỉ định rõ ràng ký tự khoảng trắng là một trong các ký tự được cắt bớt).

Đây là ý tôi:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Kết quả:

Result        
--------------
   SPECIALS   

Trong trường hợp này, dấu bằng được cắt bớt nhưng khoảng trắng vẫn còn. Điều này là do khoảng trắng không nằm ngay bên trái và / hoặc bên phải của chuỗi.

Nếu chúng ta muốn xóa cả dấu bằng khoảng trắng, chúng ta có thể chỉ cần thêm một ký tự khoảng trắng vào danh sách các ký tự cần cắt:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Kết quả:

Result  
--------
SPECIALS

Các ký tự được Bao quanh bởi Khoảng trắng

Tương tự như ví dụ trước, bạn không thể mong đợi SQL Server cắt bỏ ký tự được chỉ định nếu có khoảng trắng giữa ký tự đó và phần đầu / phần cuối của chuỗi.

Ví dụ:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Kết quả:

Result          
----------------
   =SPECIALS=

Trong ví dụ này, không có gì được cắt bỏ. Điều này là do có khoảng trắng giữa các dấu bằng và đầu / cuối của chuỗi.

Trong trường hợp này, bạn có thể chỉ cần thêm ký tự khoảng trắng làm một trong các ký tự được cắt bớt:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

Kết quả:

Result  
--------
SPECIALS

Để biết thêm ví dụ về cách sử dụng TRIM() để cắt bỏ khoảng trắng ở bên trái và bên phải của một chuỗi, hãy xem Cách loại bỏ khoảng trắng ở đầu và cuối trong SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể bắt đầu một giao dịch phân tán

  2. Tìm hiểu lý do tại sao không gửi được email trong SQL Server (T-SQL)

  3. Di chuyển Cơ sở dữ liệu Microsoft Access sang SQL Server

  4. Các trường hợp sử dụng cho câu lệnh MERGE của máy chủ SQL:Đồng bộ hóa bảng lịch sử và trực tuyến

  5. Cách thay thế các giá trị Null bằng Không xác định trong Câu lệnh Chọn trong SQL Server - Hướng dẫn SQL Server / TSQL Phần 111