Возвращает значение типа Variant (String), содержащее указанное число символов строки.
Синтаксис
Mid( строка, начало [, длина] )
Функция Mid имеет следующие аргументы:
Аргумент |
Описание |
строка |
Обязательный аргумент. строковое выражение, из которых возвращаются символы. Если строка содержит значение NULL, возвращается значение NULL . |
начало |
Обязательный аргумент. Длинные. Позиция символа в строке , с которой начинается часть, которую необходимо принять. Если start больше числа символов в строке, mid возвращает строку нулевой длины (""). |
длина |
Необязательный аргумент. Variant (Long). Число возвращаемых символов. Если опущен или в тексте меньше символов длины (включая символ в начале), возвращаются все символы от начальной позиции до конца строки. |
Замечания
Чтобы определить количество знаков в строке, используйте функцию Len.
Примечание: Используйте функцию MidB для работы с содержащимися в строке байтами, например в языках с двухбайтовыми кодировками (DBCS). Вместо количества знаков в аргументе этой функции указывается количество байтов. Образец кода с использованием функции MidB приведен во втором примере.
Примеры запросов
Expression |
Результаты |
SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; |
Возвращает "ProductID" и часть ProductID, начиная с позиции символа 5, и отображает результаты в столбце Expr1. |
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; |
Возвращает "ProductID" и часть ProductID, начиная с позиции символа 5, содержащую 4 символа, и отображает результаты в столбце testMid. |
Примеры VBA
Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.
В первом примере с помощью функции Mid возвращается указанное количество знаков строки.
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".
Во втором примере с использованием функции MidB и определяемой пользователем функции (MidMbcs) также возвращаются знаки из строки. Отличие от первого примера состоит в том, что исходная строка представляет собой строку ANSI и ее длина выражена в байтах.
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"