Zwraca wartość typu wariant (ciąg) zawierającą określoną liczbę znaków z ciągu.
Składnia
Mid( string, start [, długość ] )
W składni funkcji Fragment środkowy występują następujące argumenty:
Argument |
Opis |
ciąg |
Argument wymagany. wyrażenie tekstowe, z których są zwracane znaki. Jeśli ciąg zawiera wartość Null, funkcja zwraca wartość Null . |
rozpoczynanie |
Argument wymagany. Długi. Pozycja znaku w ciągu , od którego rozpoczyna się część do wykonania. Jeśli wartość argumentu początek jest większa niż liczba znaków w ciągu, funkcja Mid zwraca ciąg o zerowej długości (""). |
długość |
Argument opcjonalny. Wartość typu wariant (liczba długa). Liczba znaków do zwrócenia. Jeśli znak w tekście zostanie pominięty lub będzie ich mniej niż długość (w tym znak na początku), zostaną zwrócone wszystkie znaki od pozycji początkowej do końca ciągu. |
Uwagi
Aby określić liczbę znaków w argumencie ciąg, należy użyć funkcji Len.
Uwaga: Użyj funkcji MidB z danymi bajtowymi zawartymi w ciągu, jak w językach zestawu znaków dwubajtowych. Zamiast określać liczbę znaków, argumenty określają liczby bajtów. Aby uzyskać przykładowy kod używający funkcji MidB, zobacz drugi przykład w przykładowym temacie.
Przykłady zapytań
Expression |
Wyniki |
SELECT ProductID, Mid(ProductID,5) AS Wyr1 FROM ProductSales; |
Zwraca wartość "ProductID" i część IDProduktów, rozpoczynając od pozycji znaku 5, i wyświetla wyniki w kolumnie Wyr1. |
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; |
Zwraca wartość "ProductID" i część IDProduktów, rozpoczynając od pozycji znaku 5, zawierającej 4 znaki i wyświetlając wyniki w teście kolumnyMid. |
Przykłady języka VBA
Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.
W pierwszym przykładzie użyto funkcji Mid w celu zwrócenia określonej liczby znaków z ciągu.
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".
W drugim przykładzie do zwracania znaków z ciągu są również używane funkcje MidB i funkcja zdefiniowana przez użytkownika (MidMbcs). Różnica polega na tym, że ciąg wejściowy to ANSI, a długość jest w bajtach.
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"