Trả về một Biến_thể (Chuỗi) chứa số ký tự cụ thể từ một chuỗi.
Cú pháp
Mid( string, start [, length ] )
Cú pháp hàm Mid có các đối số sau đây:
Đối số |
Mô tả |
chuỗi |
Bắt buộc. biểu thức chuỗi ký tự được trả về từ đó. Nếu chuỗi chứa Null, sẽ trả về Null . |
bắt đầu |
Bắt buộc. Dài. Vị trí ký tự trong chuỗi tại phần được lấy bắt đầu. Nếu start lớn hơn số ký tự trong chuỗi,thì hàm Mid trả về chuỗi có độ dài bằng 0 (""). |
length |
Không bắt buộc. Biến _thể (Dài). Số ký tự muốn trả về. Nếu bị bỏ qua hoặc nếu có ít hơn số ký tự độ dài trong văn bản (bao gồm ký tự ở đầu), trả về tất cả các ký tự từ vị trí bắt đầu đến cuối chuỗi. |
Chú thích
Để xác định số ký tự trong chuỗi, hãy dùng hàm Len .
Lưu ý: Sử dụng hàm MidB với dữ liệu byte chứa trong một chuỗi, như trong các ngôn ngữ bộ ký tự byte kép. Thay vì xác định số ký tự, các đối số sẽ xác định số byte. Đối với mã mẫu sử dụng MidB, hãy xem ví dụ thứ hai trong chủ đề ví dụ.
Ví dụ về truy vấn
Biểu thức |
Kết quả |
SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; |
Trả về "ProductID" và một phần của PRODUCTID bắt đầu từ vị trí ký tự 5 và hiển thị kết quả trong cột Expr1. |
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; |
Trả về "ProductID" và một phần của PRODUCTID bắt đầu từ vị trí ký tự 5, chứa 4 ký tự và hiển thị kết quả trong cột testMid. |
Ví dụ về VBA
Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ đầu tiên sử dụng hàm Mid để trả về số ký tự được chỉ định từ một chuỗi.
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" ' Create text string. FirstWord = Mid(MyString, 1, 3) ' Returns "Mid". LastWord = Mid(MyString, 14, 4) ' Returns "Demo". MidWords = Mid(MyString, 5) ' Returns "Function Demo".
Ví dụ thứ hai sử dụng MidB và hàm do người dùng xác định (MidMbcs) cũng trả về các ký tự từ chuỗi. Sự khác biệt ở đây là chuỗi nhập là ANSI và độ dài là theo byte.
Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), _ start, length), vbUnicode) End Function Dim MyString MyString = "AbCdEfG" ' Where "A", "C", "E", and "G" are DBCS and "b", "d", ' and "f" are SBCS. MyNewString = Mid(MyString, 3, 4) ' Returns ""CdEf" MyNewString = MidB(MyString, 3, 4) ' Returns ""bC" MyNewString = MidMbcs(MyString, 3, 4) ' Returns "bCd"