Devuelve un valor de tipo Variant (String) que contiene un número especificado de caracteres de una cadena.
Sintaxis
Mid( string, start [, length ] )
La sintaxis de la función Extrae tiene estos argumentos:
Argumento |
Descripción |
cadena |
Requerido. expresión de cadena de los que se devuelven caracteres. Si cadena contiene Null, se devolverá Null . |
iniciar |
Obligatorio. Long. Posición del carácter en la cadena en la que comienza la parte que se va a tomar. Si inicio es mayor que el número de caracteres de cadena, Mid devuelve una cadena de longitud cero (""). |
longitud |
Opcional. Variant (Long). Número de caracteres que se va a devolver. Si se omite o si hay menos caracteres de longitud en el texto (incluido el carácter al principio), se devuelven todos los caracteres desde la posición de inicio hasta el final de la cadena. |
Observaciones
Para determinar el número de caracteres de cadena, use la función Largo .
Nota: Use la función MidB con datos de byte contenidos en una cadena, como en idiomas de juego de caracteres de doble byte. En lugar de especificar el número de caracteres, los argumentos especifican números de bytes. Para el código de ejemplo que usa MidB, vea el segundo ejemplo en el tema de ejemplo.
Ejemplos de consulta
Expression |
Resultados |
SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; |
Devuelve el "IdProducto" y la parte de IdProducto empezando desde la posición del carácter 5 y muestra los resultados en la columna Expresión1. |
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; |
Devuelve el "IdProducto" y la parte de IdProducto empezando desde la posición del carácter 5, que contiene 4 caracteres y muestra los resultados en la columna testMid. |
Ejemplos de VBA
Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
En el primer ejemplo se usa la función Extrae para devolver un número especificado de caracteres de una cadena.
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".
En el segundo ejemplo se usa MidB y una función definida por el usuario (MidMbcs) para devolver también caracteres de cadena. La diferencia es que la cadena de entrada es ANSI y la longitud está en bytes.
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"