Dấu cách TRIM của MySQL trong mệnh đề where

Cơ sở dữ liệu thường chứa các khoảng trắng ở đầu và cuối không mong muốn hoặc các ký tự khác xung quanh một chuỗi dữ liệu. Nếu những điều này không bị xóa hoặc cắt bớt, dữ liệu sẽ trả về kết quả khớp không chính xác cho các truy vấn có mệnh đề WHERE và các mệnh đề khác. Hàm TRIM trong SQL là một trong những thao tác SQL được sử dụng thường xuyên nhất để cắt xén dữ liệu kiểu chuỗi. Nó xóa tất cả khoảng trắng và các ký tự được chỉ định khác khỏi chuỗi văn bản ngoại trừ khoảng trắng đơn giữa các từ.  

Tuy nhiên, trong SQL Server và các Hệ thống quản lý cơ sở dữ liệu quan hệ [RDBM] khác, chức năng này có thể yêu cầu một số tinh chỉnh để đảm bảo nó trả về kết quả mong muốn. Dưới đây là cách hàm TRIM hoạt động trong SQL Server, Oracle và các cơ sở dữ liệu khác để loại bỏ khoảng cách không đều và các ký tự không phù hợp khỏi các chuỗi và bảng dữ liệu

Nếu bạn không có SQL Server, bạn có thể cài đặt phiên bản SQL Server Developer miễn phí. Chỉ cần theo liên kết để biết thêm chi tiết

Sử dụng hàm TRIM SQL trong Hệ thống quản lý cơ sở dữ liệu quan hệ

SQL là ngôn ngữ lập trình tiêu chuẩn công nghiệp để truy vấn cơ sở dữ liệu quan hệ. Đó là ngôn ngữ đằng sau các RDBM được sử dụng rộng rãi nhất hiện nay. Các hệ thống này thu thập và quản lý dữ liệu từ các nguồn khác nhau, nhưng dữ liệu đó có thể đến với các vấn đề về định dạng, chẳng hạn như khoảng cách không đều và các ký tự không phù hợp

70-461, 761. Truy vấn Microsoft SQL Server với Transact-SQL

Cập nhật lần cuối vào tháng 12 năm 2022

Người bán hàng giỏi nhất

  • 276 bài giảng
  • Cấp độ cho người bắt đầu

4. 5 [13.022]

Từ bảng và truy vấn CHỌN đến SQL nâng cao. Máy chủ SQL 2012, 2014, 2016, 2017, 2019 và 2022. Tác giả Phillip Burton

Khám phá khóa học

Nếu cơ sở dữ liệu của bạn nhận được văn bản từ một ứng dụng hoặc cơ sở dữ liệu khác, bất kỳ dấu cách bất thường nào hoặc các ký tự không tương thích, nó có thể ảnh hưởng đến khả năng đọc và trả về phản hồi chính xác của cơ sở dữ liệu. Trong những tình huống đó, bạn có thể áp dụng TRIM để loại bỏ các khoảng trắng hoặc ký tự thừa

Hàm TRIM ban đầu được thiết kế để cắt các khoảng trống, được gọi là ký tự khoảng trắng ASCII 7 bit [giá trị ASCII 32], khỏi văn bản, nhưng giờ đây hàm này có thể hoạt động trên các ký tự khác

Cú pháp của Hàm TRIM trong SQL

Theo mặc định, hàm TRIM trong SQL sẽ loại bỏ khoảng trắng và các ký tự được chỉ định ở hai bên của chuỗi văn bản. Nếu không có bất kỳ ký tự nào được xác định, TRIM sẽ xóa các khoảng trắng không mong muốn. Bạn cũng có thể sử dụng LTRIM hoặc RTRIM để xóa các ký tự chỉ ở đầu [trái] hoặc ở cuối [phải] của chuỗi, tương ứng

Trong những trường hợp này, bạn nên sử dụng cú pháp sau

TRIM [ chuỗi ];
RTRIM [ chuỗi ];
LTRIM [ chuỗi ];

Bạn có thể tùy chọn chỉ định các ký tự riêng lẻ sẽ được cắt bớt và TRIM sẽ xóa chúng ở đầu hoặc cuối chuỗi. Bạn không có tùy chọn này khi sử dụng LTRIM hoặc RTRIM. Khi sử dụng TRIM trong trường hợp này, bạn nên sử dụng cú pháp sau

TRIM [các ký tự TỪ chuỗi];

Hàm TRIM trong SQL cũng loại bỏ các ký tự hoặc khoảng cách khỏi toàn bộ bảng. Nó thậm chí có thể được sử dụng với lệnh UPDATE để loại bỏ các từ, nhưng nó coi mỗi chữ cái trong từ là một ký tự riêng biệt.  

Ví dụ: nếu bạn muốn xóa bất kỳ chữ cái nào trong từ 'MANAGER' khỏi bảng, bạn có thể thực thi hàm TRIM với cú pháp giống như sau

CẬP NHẬT [bảng]
SET JobTitle = TRIM ['Người quản lý' TỪ JobTitle];

Các khóa học hàng đầu về SQL

Chương trình đào tạo PostgreSQL. Đi từ Sơ cấp đến Nâng cao, hơn 60 giờ

Adnan Waheed

4. 5 [1,636]

Người bán hàng giỏi nhất

SQL ứng dụng cho phân tích dữ liệu / Khoa học dữ liệu với BigQuery

Jeff James

4. 6 [536]

Xếp hạng cao nhất

Hoàn thành Bootcamp cơ sở dữ liệu và SQL. Zero to Mastery [2023]

Andrei Neagoie, Mo Binni, Zero To Mastery

4. 6 [3,839]

SQL và PostgreSQL. Hướng dẫn hoàn chỉnh dành cho nhà phát triển

Stephen Grider

4. 7 [5,672]

Xếp hạng cao nhất

Lớp học máy chủ SQL nâng cao để phân tích dữ liệu

Travis Cuzick

4. 7 [1,727]

Khóa học SQL hoàn chỉnh dành cho người mới bắt đầu

Ivo Bernardo

4. 7 [39]

>

Các khóa học SQL khác

Điều này cắt các ký tự M, A, N, A, G, E và R từ bảng ở đầu và cuối của chuỗi. Tuy nhiên, ngay khi gặp bất kỳ ký tự nào khác, phía đó của chuỗi sẽ không bị cắt nữa.  

Ví dụ: nếu chuỗi đọc

TRIM ['Người quản lý' TỪ 'Người quản lý Nghiên cứu và Phát triển'];

Ở đây, đầu ra là 'tìm kiếm và phát triển'. 'R' và 'e' được cắt từ đầu chuỗi, nhưng vì chữ cái tiếp theo ['s'] không phải là một phần của 'Manager' nên quá trình cắt sẽ dừng lại. Tất cả các chữ cái trong 'Trình quản lý' được xóa ở cuối chuỗi. Ký tự tiếp theo là một khoảng trắng, không phải là một phần của chuỗi 'Trình quản lý', vì vậy quá trình cắt xén dừng lại

Bạn cũng có thể viết lệnh này với các ký tự riêng lẻ được phân tách bằng dấu phẩy

TRIM[‘m,a,n,a,g,e,r’ TỪ ‘Giám đốc Nghiên cứu và Phát triển’];

Sử dụng TRIM trong SQL Server

SQL Server dựa trên cú pháp ISO SQL, nhưng cách nó thực thi chức năng TRIM tùy thuộc vào phiên bản SQL Server bạn đang sử dụng.  

SQL Server 2016 trở về trước sử dụng hàm LTRIM để xóa khoảng trắng hoặc ký tự ở phía đầu [trái] của chuỗi và RTRIM để xóa chúng ở phía cuối [phải]. Trong SQL Server 2017 trở lên, bạn có thể sử dụng hàm TRIM mới. Điều này hoạt động trên các ký tự hoặc khoảng trắng được chỉ định ở bất cứ đâu được chỉ định trong chuỗi

Điều này có nghĩa là nếu bạn sử dụng hàm TRIM trong SQL Server 2016 trở về trước, thì hệ thống sẽ đưa ra lỗi cho biết: “TRIM không phải là tên hàm tích hợp được công nhận. ” Ví dụ: chạy tập lệnh này trong SQL Server 2016 dẫn đến lỗi, nhưng hoạt động trong SQL Server 2017

KHAI BÁO @String2 NHƯ VARCHAR[20]
SET @String2 = 'Sentence'
SELECT TRIM[@String2] AS TrimmedValue
GO

Sử dụng Hàm LTRIM và RTRIM trong SQL

Vì các phiên bản trước của SQL Server không hỗ trợ hàm TRIM, nên cách giải quyết của nó là tách hàm TRIM thành hai thao tác cụ thể. RTRIM và LTRIM. LTRIM xóa bất kỳ khoảng trắng nào ở đầu chuỗi [phía đầu], trong khi RTRIM xóa chúng ở cuối chuỗi [phía bên phải hoặc phía sau].  

Những ví dụ này cho thấy hai chức năng này hoạt động như thế nào

SELECT LTRIM[‘ Câu ‘];
/* Kết quả của LTRIM[]. ‘ Câu ‘ */

SELECT RTRIM[‘ Câu ‘];
/* Kết quả của RTRIM[]. ‘ Câu’ */

Để xóa cả khoảng trắng ở đầu và ở cuối khỏi một chuỗi trong SQL Server 2016 trở về trước, bạn sẽ cần kết hợp hoặc lồng các hàm RTRIM[] và LTRIM[] trong một câu lệnh. Cú pháp cho hoạt động này trông như thế này

KHAI BÁO @String2 NHƯ VARCHAR[20]
SET @String2 = ' Câu '
SELECT RTRIM[LTRIM[@String2]] AS TrimmedValue

Các khóa học của Phillip Burton

Phần kết luận

Các hàm cắt xén trong SQL giúp giữ cho dữ liệu sạch sẽ và chính xác bằng cách loại bỏ các khoảng trắng và ký tự không mong muốn khỏi chuỗi văn bản. Đây là bước quan trọng khi nhập dữ liệu từ các cơ sở dữ liệu và nguồn đầu vào khác

Các chức năng có thể được sử dụng bao gồm TRIM, LTRIM và RTRIM trong RDBM dựa trên SQL, tùy thuộc vào thao tác được yêu cầu. Hàm TRIM, không thể sử dụng trong SQL Server 2016 trở xuống, áp dụng cho cả hai mặt của chuỗi và bạn có thể chỉ định các ký tự hoặc khoảng trắng cần xóa. Bạn cũng có thể sử dụng RTRIM và LTRIM để xóa từ bên phải hoặc bên trái của chuỗi. Hàm TRIM có thể được áp dụng trên toàn bộ bảng để xóa các ký tự được chỉ định khỏi mọi hàng trong bảng hoặc cho các chuỗi dữ liệu đơn lẻ. Hãy tiếp tục và tự mình thử sử dụng các hàm này vì cách tốt nhất để học SQL là viết SQL

Để tìm hiểu cách sử dụng chức năng này và các chức năng khác, hãy xem khóa học Udemy của tôi Truy vấn Microsoft SQL Server bằng Transact-SQL. Trong khóa học này, chúng ta sẽ xem xét cú pháp của câu lệnh SELECT và sáu mệnh đề chính của nó — SELECT, FROM, WHERE, GROUP BY, HAVING và ORDER BY — trước khi xem xét việc tạo dạng xem, thủ tục, hàm, v.v.

Cảm ơn bạn rất nhiều vì đã đọc nó, và tiếp tục học hỏi

Các câu hỏi thường gặp

TRIM trong SQL là gì?

Hàm TRIM trong SQL là một thao tác loại bỏ khoảng trắng không mong muốn hoặc các ký tự khác khỏi phần đầu và/hoặc phần cuối của chuỗi văn bản

Làm cách nào để cắt một hàng trong SQL?

Để cắt một hàng cơ sở dữ liệu hoàn chỉnh trong SQL, trước tiên hãy CHỌN dữ liệu trong hàng và sử dụng TRIM trên mỗi cột. Sau đó, sử dụng CẬP NHẬT để chèn lại kết quả đã cắt vào bảng. Đây là một ví dụ về một cách để làm điều đó

CẬP NHẬT my_table SET col1 = TRIM[col1];
CẬP NHẬT my_table SET col2 = TRIM[col2];

Làm cách nào để cắt một truy vấn CHỌN?

Để cắt bớt dữ liệu quay lại từ truy vấn CHỌN, hãy áp dụng TRIM cho từng giá trị cột. Đây là một ví dụ

CHỌN TRIM[col1], TRIM[col2], TRIM[col3] TỪ my_table;

Trang được cập nhật lần cuối. Tháng 12 năm 2021

Phillip Burton

Người hướng dẫn Udemy

Hồ sơ Udemy của Phillip Burton

Phillip là một nhà tư vấn máy tính cung cấp các dịch vụ chuyên gia trong việc phát triển hệ thống máy tính và phân tích dữ liệu. Ông là Chuyên gia Công nghệ được Chứng nhận của Microsoft. Ông cũng đã được chứng nhận là Chuyên gia Giải pháp được Chứng nhận của Microsoft cho Business Intelligence, Microsoft Office 2010 Master và là Chuyên gia Microsoft Project 2013

Anh ấy thích điều tra dữ liệu, điều này cho phép anh ấy duy trì các hệ thống chủ động và cập nhật để giúp kiểm soát và giám sát các hoạt động hàng ngày. Ông cũng đã phát triển chuyên môn và các chương trình để lập danh mục, xử lý và kiểm soát dữ liệu điện tử, số lượng lớn giấy hoặc dữ liệu điện tử để phân tích và điều tra có cấu trúc

Anh ấy là một trong 9 Chuyên gia đã giành giải thưởng cho Giải thưởng Chuyên gia Thường niên lần thứ 11 của Expert Exchange và là một trong 10 chuyên gia hàng đầu của Expert Exchange trong quý đầu tiên của năm 2015

Làm cách nào để xóa khoảng trắng trong MySQL?

Hàm TRIM[] trả về một chuỗi đã loại bỏ các ký tự không mong muốn. Lưu ý rằng để xóa khoảng trắng ở đầu chuỗi, bạn sử dụng hàm LTRIM[] . Và để xóa khoảng trắng ở cuối chuỗi, bạn sử dụng hàm RTRIM[].

Làm cách nào để sử dụng TRIM trong truy vấn MySQL?

Trả về. Nó trả về một chuỗi đã loại bỏ các ký tự không mong muốn. Ví dụ 1. Hàm TRIM[] chỉ xóa khoảng trắng ở đầu . Ví dụ-2. Hàm TRIM[] chỉ xóa khoảng trắng ở cuối. Ví dụ-3. Hàm TRIM[] để xóa cả khoảng trắng ở đầu và cuối.

Làm cách nào để xóa 3 ký tự cuối cùng trong MySQL?

Bạn có thể sử dụng LENGTH[that_string] trừ đi số ký tự bạn muốn xóa trong SUBSTRING[] chọn có lẽ hoặc sử dụng hàm TRIM[]. If you can show an example of TRIM[] working for all characters by index instead of removing all of a certain type of characters I'd be interested to see it.

Làm cách nào để TRIM các ký tự trong MySQL?

Sử dụng hàm TRIM[] với từ khóa LEADING để xóa các ký tự ở đầu chuỗi . TRIM[] cho phép bạn xóa [các] ký tự hoặc khoảng trắng cụ thể khỏi đầu, cuối hoặc cả hai đầu của chuỗi. Hàm này nhận các đối số sau. Một từ khóa tùy chọn chỉ định [các] phần cuối để cắt.

Chủ Đề