Vấn đề:
Bạn muốn xóa khoảng trắng hoặc một ký tự cụ thể khỏi đầu và cuối chuỗi.
Ví dụ:
Cơ sở dữ liệu của chúng tôi có một bảng có tên company
với dữ liệu trong hai cột:id
và name
.
id | tên |
---|---|
1 | 'Siêu thị' |
2 | 'Cửa hàng xanh' |
3 | 'Hiệu sách hiện đại' |
Hãy cắt bớt tên của từng công ty để loại bỏ khoảng trống không cần thiết ở đầu và cuối.
Giải pháp:
Chúng tôi sẽ sử dụng TRIM
hàm số. Đây là truy vấn bạn sẽ viết:
SELECT TRIM(' ' FROM name) AS new_name FROM company;
Ngoài ra, bạn có thể sử dụng phiên bản ngắn hơn không có FROM
từ khóa và khoảng trắng dưới dạng các ký tự cần xóa; theo mặc định, TRIM
sẽ coi điều này là xóa khoảng trắng khỏi chuỗi được lưu trữ trong một cột hoặc biểu thức nhất định trong đối số của hàm TRIM.
SELECT TRIM(name) AS new_name FROM company;
Đây là kết quả của cả hai truy vấn:
new_name |
---|
'Siêu thị' |
'Cửa hàng xanh' |
'Hiệu sách hiện đại' |
Thảo luận:
Sử dụng TRIM
nếu bạn muốn cắt một chuỗi trong bảng. Chức năng này cho phép bạn xóa một ký tự cụ thể khỏi đầu và cuối chuỗi. Hàm này nhận các đối số sau:
- Ký tự bạn muốn cắt khỏi chuỗi, theo mặc định, nó là một khoảng trắng ..
-
FROM
từ khóa, theo sau là tên của cột chuỗi sẽ được cắt bớt.
Trong ví dụ của chúng tôi, giống như sau:
TRIM(' ' FROM name)
T-SQL cũng cho phép loại bỏ khoảng trắng của các ký tự khác chỉ từ đầu hoặc chỉ từ cuối chuỗi.
Ví dụ dưới đây loại bỏ khoảng trắng ở cuối mỗi công ty bằng cách sử dụng hàm RTRIM ().
SELECT RTRIM(name) AS new_name FROM company;
new_name |
---|
'Siêu thị' |
'Cửa hàng xanh' |
'Hiệu sách hiện đại' |
Nhưng cũng có thể được sử dụng để cắt bớt khoảng trống ở phần đầu nếu bạn sử dụng LTRIM
chức năng thay thế:
SELECT LTRIM(name) AS new_name FROM company;
Truy vấn trả về name
cột không có khoảng trắng ở cuối. Lưu ý rằng các khoảng trống ở đầu được giữ nguyên.
new_name |
---|
'Siêu thị' |
'Cửa hàng xanh' |
'Hiệu sách hiện đại' |