Mid 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回一个 Variant (String) 值,其中包含字符串中指定数量的字符。

语法

中间 (字符串,start [, length ] )

Mid 函数语法具有以下参数:

参数 说明
字符串 必需。 从中返回字符的字符串表达式。 如果 字符串 包含 Null,则返回 Null
开始 必需。 长。 要获取的部件开始的 字符串 中的字符位置。 如果 start 大于 字符串中的字符数, 则 Mid 返回长度为零的字符串 (“”) 。
长度 可选。 变量 () 。 要返回的字符数。 如果省略或文本中 长度 少于字符 (包括 开头) 字符,则返回从 字符串的开始 位置到结束的所有字符。

备注

若要确定 字符串中的字符数,请使用 Len 函数。

注意

MidB 函数用于字符串中包含的字节数据,就像在双字节字符集语言中一样。 参数指定字节数,而不是指定字符数。 有关使用 MidB 的示例代码,请参阅示例主题中的第二个示例。

查询示例

Expression 结果
SELECT ProductID, Mid (ProductID,5) AS Expr1 FROM ProductSales; 从字符位置 5 开始返回“ProductID”和 ProductID 部分,并在 Expr1 列中显示结果。
SELECT ProductID, Mid (ProductID,5,4) AS testMid FROM ProductSales; 返回“ProductID”和 ProductID 部分,从字符位置 5 开始,包含 4 个字符,并在列 testMid 中显示结果。

VBA 示例

注意

下面的 VBA 示例演示了如何在 Visual Basic for Applications (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"

另请参阅

字符串函数以及如何使用它们