Trích xuất các ký tự cụ thể từ chuỗi, Python

Mỗi người làm việc với dữ liệu có cách tiếp cận khác nhau để truy xuất dữ liệu, tùy thuộc vào cách họ muốn sử dụng dữ liệu đó. SQL nhằm mục đích cung cấp cho chúng tôi cách trích xuất dữ liệu ở bất kỳ định dạng nào với sự trợ giúp của các công cụ, chẳng hạn như hàm chuỗi con SQL. Chức năng này cho phép chúng tôi trích xuất các ký tự cụ thể từ một chuỗi

Chuỗi con trong SQL là gì?

SUBSTRING[] là một hàm cho phép chúng ta trích xuất các phần con của chuỗi, được gọi là chuỗi con. Các chuỗi mà chúng tôi muốn trích xuất có thể được chỉ định trong chính hàm đó hoặc chúng có thể là một phần của các cột của bảng

Sử dụng chức năng này, chúng ta có thể trích xuất bao nhiêu chuỗi con tùy ý từ một chuỗi

Để hiểu chức năng này, chúng ta hãy xem cú pháp sử dụng nó

Chương trình Thạc sĩ Phân tích Kinh doanh

Nhận kiến ​​thức chuyên môn về các công cụ phân tích Doanh nghiệp Chương trình Khám phá

Cú pháp sử dụng hàm chuỗi con SQL

SUBSTRING[chuỗi, bắt đầu, độ dài]

  • Tham số chuỗi được sử dụng để chỉ định phần tử mà chúng ta muốn trích xuất các ký tự từ đó.  
  • Tham số bắt đầu được sử dụng để xác định vị trí bắt đầu của chuỗi. Nếu là số dương thì hàm bắt đầu từ đầu chuỗi, nếu là số âm thì hàm bắt đầu từ cuối chuỗi

GHI CHÚ. Ký tự đầu tiên của chuỗi n ký tự được gán giá trị 1 và ký tự cuối cùng được gán giá trị n. Từ cuối, ký tự cuối cùng được gán giá trị -1 và ký tự đầu tiên được gán giá trị -n

  • Tham số độ dài tùy chọn được sử dụng để chỉ định số lượng ký tự chúng tôi muốn trích xuất từ ​​​​chuỗi. Không có điều này, toàn bộ chuỗi từ vị trí bắt đầu được trả về

Ví dụ: SUBSTRING[‘ABCDEF’, 2, 3] trả về ‘BCD’

Những điểm quan trọng cần nhớ

  • Hàm trả về lỗi nếu tham số độ dài không phải là số dương
  • Nếu vị trí bắt đầu, được chỉ định trong tham số bắt đầu, là một số lớn hơn độ dài của chuỗi ban đầu, hàm sẽ trả về một khoảng trống
  • Giá trị cho tham số độ dài có thể lớn hơn độ dài của chuỗi ban đầu. Trong trường hợp này, toàn bộ chuỗi sẽ được trả về từ vị trí bắt đầu được chỉ định
  • Bắt buộc phải chỉ định các tham số chuỗi và bắt đầu, nếu không có thì hàm sẽ trả về lỗi cú pháp

Hãy áp dụng các khái niệm đã thảo luận ở trên vào chuỗi và cột bảng

Trích xuất các chuỗi con từ một điểm cụ thể

Hàm SUBSTRING[] có thể được sử dụng với lệnh SELECT để lấy các chuỗi con

  • Để trích xuất năm ký tự từ ký tự thứ ba của chuỗi đã chỉ định

Bất kỳ khoảng trống nào cũng được phân loại là ký tự

Điều này sẽ dẫn đến kết quả như sau

Khóa học MIỄN PHÍ. Giới thiệu về Phân tích dữ liệu

Nắm vững khái niệm cơ bản về phân tích dữ liệu chỉ bằng một cú nhấp chuột. Bắt đầu học

Trích xuất các chuỗi con từ cuối

Để trích xuất bốn ký tự từ vị trí thứ bảy từ cuối chuỗi đã chỉ định, bạn cần nhập thông tin sau

Như chúng ta có thể thấy, “o” là ký tự bắt đầu cho chuỗi bốn ký tự được truy xuất

Truy vấn trên sẽ cho kết quả như sau

Trích xuất các chuỗi con mà không chỉ định độ dài

Để trích xuất toàn bộ chuỗi từ ký tự thứ hai của chuỗi đã chỉ định, bạn sẽ nhập mã sau

Điều này cho thấy rằng không có giá trị nào được chỉ định cho tham số độ dài, vì vậy toàn bộ chuỗi từ vị trí bắt đầu sẽ được trả về

Chúng ta cũng có thể trích xuất các ký tự từ các cột của bảng bằng chức năng này. Hãy xem điều này được thực hiện như thế nào

Trích xuất các chuỗi con từ các cột của bảng

Cú pháp truy xuất các chuỗi con từ các cột của bảng như sau

SELECT SUBSTRING[tên_cột, bắt đầu, độ dài]

TỪ tên_bảng

Ở ĐÂU [điều kiện]

  • Chuỗi con được lấy từ mỗi hàng của cột được chỉ định trong tham số tên_cột
  • Một số điều kiện có thể được chỉ định trong mệnh đề WHERE để lọc các hàng đang được truy xuất

GHI CHÚ. Mệnh đề WHERE là tùy chọn

Hãy sử dụng bảng sau đây làm ví dụ

  • Để trích xuất ba chữ số cuối của “Dept_ID” cho mỗi nhân viên từ bảng này, chúng tôi sẽ sử dụng truy vấn sau

Điều này sẽ dẫn đến kết quả như sau

Ngoài ra, chúng ta cũng có thể sử dụng truy vấn sau để lấy kết quả trên

Ở đây, chúng tôi đã chỉ định vị trí bắt đầu là vị trí thứ ba từ cuối. Chúng tôi không cần chỉ định độ dài vì chúng tôi cần tất cả các ký tự từ vị trí bắt đầu được chỉ định.  

Điều này sẽ dẫn đến kết quả như sau

Điều này cho thấy kết quả giống với kết quả truy vấn trước đó.  

  • Để trích xuất ID và chữ cái đầu tiên trong tên của mỗi nhân viên có mức lương lớn hơn 30000, hãy sử dụng đoạn mã sau

Điều này sẽ dẫn đến

Điều kiện được chỉ định trong mệnh đề WHERE của truy vấn trên đã lọc số hàng được trả về

  • Hãy xem điều gì xảy ra khi vị trí bắt đầu lớn hơn độ dài của chuỗi

Để trích xuất tất cả ID của nhân viên từ ký tự thứ ba, chúng tôi sẽ nhập như sau

Điều này sẽ dẫn đến kết quả như sau

Một khoảng trống được trả về cho tất cả các hàng, vì độ dài của mỗi bản ghi này là hai ký tự

Đôi khi, chúng ta chỉ cần một vài ký tự từ toàn bộ chuỗi dữ liệu và hàm chuỗi con SQL giúp thực hiện mục đích này. Ví dụ, khi chúng ta chỉ cần biết chữ cái đầu tiên của tên ai đó, hoặc khi biết hai chữ số cuối của năm là đủ, thì sử dụng hàm chuỗi con SQL là giải pháp hoàn hảo.  

Tích lũy kiến ​​thức chuyên môn về các công cụ và kỹ thuật phân tích kinh doanh mới nhất với Chương trình sau đại học về Phân tích kinh doanh. đăng ký ngay bây giờ

Bước tiếp theo

Bây giờ bạn đã biết cách trích xuất thông tin ở định dạng được yêu cầu, đã đến lúc bạn bắt đầu thao tác và truy xuất dữ liệu từ cơ sở dữ liệu hiện có hoặc cơ sở dữ liệu bạn tạo. Nếu bạn thích bài viết này và muốn được chứng nhận, hãy xem Chương trình Thạc sĩ Phân tích Nghiệp vụ của chúng tôi, vì nó bao gồm từ A-Z của SQL

Tìm Bootcamp phân tích kinh doanh trực tuyến của chúng tôi ở các thành phố hàng đầu

NameDatePlaceLớp phân tích nghiệp vụ bắt đầu vào ngày 28 tháng 1 năm 2023,
Đợt cuối tuầnChi tiết CityView của bạnKhóa học phân tích nghiệp vụ tại SingaporeLớp khai giảng vào ngày 4 tháng 2 năm 2023,
Đợt cuối tuầnSingaporeXem chi tiết Lớp Business Analyst bắt đầu vào ngày 6 tháng 2 năm 2023,
Đợt các ngày trong tuầnChi tiết CityView của bạn

Thông tin về các Tác giả

Ravikiran AS

Ravikiran A S làm việc với Simplilearn với tư cách là Nhà phân tích nghiên cứu. Anh ấy là một người đam mê nhiệt tình, luôn săn lùng những công nghệ mới nhất. Anh ấy thành thạo Ngôn ngữ lập trình Java, Dữ liệu lớn và các Khung dữ liệu lớn mạnh mẽ như Apache Hadoop và Apache Spark

Chủ Đề