Computer >> Máy Tính >  >> Lập trình >> SQL

Cách sử dụng Lệnh chứa SQL

Có nhiều câu lệnh và hàm SQL để truy vấn cơ sở dữ liệu của bạn và truy xuất hoặc tìm ra thông tin hữu ích. Một trong những hàm như vậy là CONTAINS() chức năng. Câu lệnh cụ thể này không phải là một hàm SQL tiêu chuẩn - tùy thuộc vào cơ sở dữ liệu bạn sử dụng, CONTAINS() chức năng hoạt động khác nhau. Trong bài viết này, chúng ta nói về CONTAINS() hoạt động vì nó liên quan đến SQL Server và xem nó khác biệt như thế nào khi bạn sử dụng cơ sở dữ liệu khác.

Cách sử dụng và Cú pháp cơ bản

Về cốt lõi, CONTAINS() hàm nhận một chuỗi con và thực hiện tìm kiếm để xem nó có nằm trong một chuỗi khác hay không. Đối với Microsoft SQL Server, CONTAINS() cho phép một mẫu văn bản đầy đủ phù hợp với các truy vấn tìm kiếm SQL trên bảng của bạn. Nó trả về một giá trị boolean cho biết liệu hàm là true hay falsy.

SELECT <columnName> FROM <yourTable> WHERE CONTAINS (<columnName>, '<yourSubstring>');

Tất cả các vị trí ở giữa tập hợp <> là cách đặt tên tùy chỉnh của bạn. Lưu ý rằng chuỗi con của bạn nằm giữa một tập hợp các dấu ngoặc kép. Tên cột là tên biến mà bạn đặt tên cột khi tạo bảng.

CREATE TABLE MyTable
    ([name] varchar(26), [occupation] varchar(57))
;

INSERT INTO MyTable
    ([name], [occupation])
VALUES
    ('User 1', 'Web Developer'),
    ('User 2', 'Musician'),
    ('User 3', 'Doctor')
;

SELECT name, occupation FROM myTable WHERE CONTAINS (name, 'User');

Nếu bảng của bạn được thiết lập để được lập chỉ mục toàn văn bản, thì bạn có thể chạy truy vấn ở trên. Tìm kiếm tìm toàn bộ mẫu của chuỗi con - nó không tìm lỗi chính tả hoặc từ đồng nghĩa.

Nếu bạn không chắc chắn về cách thiết lập cơ sở dữ liệu của mình để được lập chỉ mục toàn văn bản, hãy kiểm tra mệnh đề SQL LIKE. Nó tương tự như CONTAINS, nhưng dễ thiết lập hơn.

SELECT
  name,
  occupation
FROM
  MyTable
WHERE name LIKE 'User%';

% Sau chuỗi ‘Người dùng’ chỉ ra bất kỳ điều gì sau ‘Người dùng’. Vì vậy, mã này sẽ trả về:

tên nghề nghiệp
Người dùng 1 Nhà phát triển web
Người dùng 2 Nhạc sĩ
Người dùng 3 Bác sĩ

Các cơ sở dữ liệu khác sử dụng hàm CONTAINS theo những cách khác nhau - ví dụ, nó không nhất thiết có nghĩa giống nhau trong SQL Server, mà nó có nghĩa là trong PostgreSQL.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Để biết thêm thông tin, vui lòng xem tài liệu của cơ sở dữ liệu tương ứng của bạn. Để biết thêm thông tin về điều khoản LIKE, vui lòng xem bài đăng trên blog này James Gallagher đã viết về điều khoản này trên Career Karma.