ส่งกลับ ตัวแปร (สตริง) ที่มีจำนวนอักขระที่ระบุจากสตริง
ไวยากรณ์
Mid( string, start [, length ] )
ไวยากรณ์ของฟังก์ชัน Mid มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
สตริง |
จำเป็น นิพจน์สตริง อักขระที่ส่งกลับมา ถ้า สตริง มี Null จะส่ง Null กลับมา |
เริ่ม |
จำเป็น ยาว ตําแหน่งอักขระใน สตริง ที่ส่วนที่จะเริ่ม ถ้า start มากกว่าจํานวนอักขระใน สตริงMid จะส่งกลับสตริงที่มีความยาวเป็นศูนย์ ("") |
ความยาว |
ไม่จำเป็น ตัวแปร (ยาว) จํานวนอักขระที่จะส่งกลับ ถ้าละไว้หรือถ้ามีอักขระ ความยาว น้อยกว่าในข้อความ (รวมถึงอักขระที่ เริ่มต้น) อักขระทั้งหมดจากตําแหน่ง เริ่มต้น ถึงจุดสิ้นสุดของสตริงจะถูกส่งกลับ |
ข้อสังเกต
เมื่อต้องการกําหนดจํานวนอักขระในสตริง ให้ใช้ฟังก์ชัน 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"