我有一个名为'Specimen'的字段,其条目格式为'CM-Z-01','TOR-XY-03'等。我想在同一个表中填充另外两个字段,称为'TestType'和'Axis',分别是'Specimen'条目的前两部分。所以'TestType'会有'CM'和'TOR';轴将具有'Z'和'XY'
我可以用
做第一个就好了UPDATE MechanicalData
SET MechanicalData.TestType = Left(Specimen,InStr(Specimen,"-")-1);
有没有一种简单的方法来抓住中间部分?
答案 0 :(得分:2)
您可以使用Split
函数返回一个包含字符串部分的数组:
firstPart = Split("TOR-XY-03", "-")(0)
secondPart = Split("TOR-XY-03", "-")(1)
根据此功能创建一个可以在查询中调用的函数。您不能直接使用Split
,因为SQL不支持。
Public Function SpecimenPart(ByVal s As Variant, ByVal partNo As Long) As Variant
If Nz(s) <> "" Then
Dim parts As Variant
parts = Split(s, "-")
If partNo - 1 <= UBound(parts) Then
SpecimenPart = parts(partNo - 1)
End If
End If
End Function
参数partNo
是从一开始的(第一部分为1)。
UPDATE MechanicalData SET
TestType = SpecimenPart(Specimen, 1),
Axis = SpecimenPart(Specimen, 2);