החזרת משתנה (מחרוזת) המכיל מספר תווים שצוין במחרוזת.
תחביר
Mid( string, start [, length ] )
תחביר הפונקציה Mid מכיל את הארגומנטים הבאים:
ארגומנט |
תיאור |
string |
נדרש. ביטוי מחרוזת שממנה מוחזרים תווים. אם המחרוזת מכילה Null, מוחזר Null. |
התחלה |
נדרש. זמן. מיקום תו במחרוזת שבו מתחיל החלק שיש לקחת. אם start גדול ממספר התווים ב- string, הפונקציהMid מחזירה מחרוזת באורך אפס (""). |
length |
אופציונלי. משתנה (ארוך). מספר התווים להחזרה. אם הוא מושמט או אם יש פחות תווי אורך בטקסט (כולל התו בתחילתו), מוחזרים כל התווים ממיקום ההתחלה עד לסוף המחרוזת. |
הערות
כדי לקבוע את מספר התווים ב- string, השתמש בפונקציה Len.
הערה: השתמש בפונקציה MidB עם נתוני בית הכלולים במחרוזת, כמו בשפות של ערכת תווים של שני בתים. במקום לציין את מספר התווים, הארגומנטים מציינים מספרים של בתים. עבור קוד לדוגמה המשתמש ב- 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 תווים ומציג את התוצאות במבחן העמודהMid. |
דוגמאות 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"