Trong bảng
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;3 có cột email. Bạn muốn hiển thị bảy ký tự đầu tiên của mỗi email
Cái bàn trông như thế này
emailjake99@gmail. comtamarablack@zoho. comnotine@yahoo. frjessica1995@onet. làm ơnGiải pháp 1
SELECT email, SUBSTRING[email, 1, 7] AS substring FROM emails;
cú pháp khác
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;
Kết quả là
emailsubstringjake99@gmail. comjake99@tamarablack@zoho. comtamarabnotine@yahoo. frnotine@jessica1995@onet. pljessicaThảo luận
Sử dụng hàm
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;4. Đối số đầu tiên là chuỗi hoặc tên cột. Đối số thứ hai là chỉ mục của ký tự mà tại đó chuỗi con sẽ bắt đầu. Đối số thứ ba là độ dài của chuỗi con
Coi chừng. Không giống như trong một số ngôn ngữ lập trình khác, các chỉ mục bắt đầu từ 1, không phải 0. Điều này có nghĩa là ký tự đầu tiên có chỉ số 1, ký tự thứ hai có chỉ số 2, v.v.
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;5 sẽ trả về chuỗi con của các giá trị trong cột email bắt đầu ở đầu chuỗi [ký tự đầu tiên] và kéo dài bảy ký tự. Ký hiệu khác,
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;6, thực hiện chính xác như vậy. Đối số sau
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;0 là chỉ mục bắt đầu và đối số sau
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;1 là độ dài chuỗi con
Đối số thứ ba của hàm
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;4 là tùy chọn. Nếu bạn bỏ qua nó, bạn sẽ nhận được chuỗi con bắt đầu tại chỉ mục trong đối số thứ hai và đi đến cuối chuỗi.
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;3 sẽ trả về toàn bộ chuỗi, giống như
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;4
ví dụ 2
Bạn muốn hiển thị chuỗi con giữa chỉ mục 2 và 6 [bao gồm]
Giải pháp 2
SELECT email, SUBSTRING[email, 2, 5] AS substring FROM emails;
cú pháp khác
SELECT email, SUBSTRING[email FROM POSITION['@' IN email]] AS substring FROM emails;
Kết quả là
emailsubstringjake99@gmail. com@gmail. comtamarablack@zoho. com@zoho. comnotine@yahoo. fr@yahoo. frjessica1995@onet. làm ơn @onet. làm ơnThảo luận
Bạn sử dụng hàm
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;4 như trong các ví dụ trước. Lần này, bạn đang tìm kiếm một ký tự cụ thể có vị trí có thể thay đổi từ hàng này sang hàng khác. Để tìm chỉ mục của ký tự cụ thể, bạn có thể sử dụng hàm
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;6, trong đó ký tự là ký tự cụ thể mà bạn muốn bắt đầu chuỗi con [ở đây,
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;7]. Cột đối số là
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;8 mà từ đó bạn muốn truy xuất chuỗi con;
Nếu bạn muốn chuỗi con đi đến hết chuỗi ban đầu thì không cần đối số thứ ba trong hàm
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;4 [hoặc đối số
SELECT email, SUBSTRING[email FROM 1 FOR 7] AS substring FROM emails;1]. Mặt khác, nó phải là độ dài của chuỗi con hoặc bạn có thể tính toán nó bằng hàm
SELECT email, SUBSTRING[email, 2, 5] AS substring FROM emails;1. Bạn cũng có thể muốn truy xuất một chuỗi con không kết thúc ở cuối chuỗi mà ở một số ký tự cụ thể, e. g. , trước '. '. Đây là một ví dụ
Thí dụ
Trích xuất một chuỗi con từ một chuỗi [bắt đầu từ vị trí 5, trích xuất 3 ký tự]
SELECT SUBSTRING["Hướng dẫn SQL", 5, 3] AS ExtractString;
Tự mình thử »Định nghĩa và cách sử dụng
Hàm SUBSTRING[] trích xuất một chuỗi con từ một chuỗi [bắt đầu từ bất kỳ vị trí nào]
Ghi chú. Các hàm SUBSTR[] và MID[] bằng với hàm SUBSTRING[]
cú pháp
SUBSTRING[chuỗi, bắt đầu, độ dài]
HOẶC
SUBSTRING[chuỗi TỪ bắt đầu CHO độ dài]
Giá trị tham số
Tham sốChuỗi mô tảBắt buộc. Chuỗi để trích xuất fromstartRequired. vị trí bắt đầu. Có thể là cả số dương hoặc số âm. Nếu là số dương thì hàm này lấy từ đầu chuỗi. Nếu là số âm thì hàm này trích xuất từ cuối stringlengthOptional. Số lượng ký tự để trích xuất. Nếu bỏ qua, toàn bộ chuỗi sẽ được trả về [từ vị trí bắt đầu]chi tiết kỹ thuật
Thêm ví dụ
Thí dụ
Trích xuất một chuỗi con từ văn bản trong một cột [bắt đầu từ vị trí 2, trích xuất 5 ký tự]
SELECT SUBSTRING[CustomerName, 2, 5] AS ExtractString
TỪ Khách hàng;
Thí dụ
Trích xuất một chuỗi con từ một chuỗi [bắt đầu từ cuối, ở vị trí -5, trích xuất 5 ký tự]
CHỌN SUBSTRING["Hướng dẫn SQL", -5, 5] AS ExtractString;
Tự mình thử »