Đôi khi chúng ta chỉ cần một phần của giá trị chuỗi trong dữ liệu của mình để hiển thị. Có một hàm chuỗi mà chúng tôi sử dụng được gọi là SUBSTR()
. Ngoài ra còn có một hàm tương đương được gọi là SUBSTRING()
. Trong bài viết này, chúng tôi đề cập đến việc sử dụng hàm chuỗi con này trong SQL.
Chuẩn bị
Đây là SQL Fiddle được sử dụng trong bài viết này. Lược đồ như sau:
create table names ( id INT, name VARCHAR(50), age INT, gender VARCHAR(50) ); insert into names (id, name, age, gender) values (1, 'Bret Starkings', 55, 'M'); insert into names (id, name, age, gender) values (2, 'Bobbye Eyckel', 76, 'F'); insert into names (id, name, age, gender) values (3, 'Barbie Veschi', 50, 'F'); insert into names (id, name, age, gender) values (4, 'Electra Blazewicz', 47, 'F');
Chúng tôi sử dụng SUBSTR()
để lấy lại một phần của cột tên. Cú pháp của hàm như sau:
SUBSTR(column_name, position, num_letters);
Hàm nhận ba tham số:cột hoặc chuỗi mà chúng ta muốn ngoại suy chuỗi con, vị trí bắt đầu dựa trên một trong chuỗi (lập chỉ mục bắt đầu từ 1 thay vì 0) và số độ dài ký tự. Nếu chúng ta thực hiện việc này trên cột tên, Câu lệnh SQL sẽ xuất hiện dưới dạng:
SELECT name, SUBSTR(name, 1, 4) AS NAME_SUBSTRING, age, gender FROM names;
Và mã kết quả là:
tên | NAME_SUBSTRING | tuổi | giới tính |
Bret Starkings | Bret | 55 | M |
Bobbye Eyckel | Bobb | 76 | F |
Barbie Veschi | Barb | 50 | F |
Electra Blazewicz | Elec | 47 | F |
Estrella Borleace | Giá thầu | 57 | F |
Tham số thứ ba trong hàm này có thể bị tắt nếu bạn chọn:
SELECT name, SUBSTR(name, 4) AS NAME_SUBSTRING, age, gender FROM names;
tên | NAME_SUBSTRING | tuổi | giới tính |
Bret Starkings | t Starkings | 55 | M |
Bobbye Eyckel | tạm biệt Eyckel | 76 | F |
Barbie Veschi | bie Veschi | 50 | F |
Electra Blazewicz | ctra Blazewicz | 47 | F |
Estrella Borleace | rella Borleace | 57 | F |
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 chương trình đà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ọ.
Bạn cũng có thể sử dụng các giá trị âm cho vị trí:
SELECT name, SUBSTR(name, -4) AS NAME_SUBSTRING, age, gender FROM names;
tên | NAME_SUBSTRING | tuổi | giới tính |
Bret Starkings | ings | 55 | M |
Bobbye Eyckel | ckel | 76 | F |
Barbie Veschi | schi | 50 | F |
Electra Blazewicz | wicz | 47 | F |
Estrella Borleace | eace | 57 | F |
Như với bất kỳ hàm SQL nào trong số này, cú pháp có thể hơi khác tùy thuộc vào loại cơ sở dữ liệu bạn đang sử dụng. Khái niệm chung là giống nhau mặc dù. Chỉ cần nhớ rằng lập chỉ mục bắt đầu từ 1 thay vì 0 cho thông số vị trí và bạn sẽ làm rất tốt khi xây dựng các truy vấn của mình.