Trim、左、右、中?
Trim, Left, Right, Mid?
我有 table 中的字符串列表,看起来像这样
John Doe 2015 Toyota
Bob Smith 2017 Dodge
Sally Simms 2015 Ford
我想删除第一个数字或末尾左侧两个空格之前的所有内容。我想留下:
2015 Toyota
2017 Dodge
2015 Ford
我已经尝试了 Left、Right 和 Mid 的所有组合以及 Instr 和 InsrtRev 的变体。有人可以帮我查询代码吗?这是我最后一次尝试,但没有成功:
Vehicle: Mid([My_Field],InStrRev(InStrRev(1,[My_Field]," ")+1,[My_Field]," "))
这在 MS Access 中非常不愉快。但是这样的事情应该有效:
select switch(my_field like "* 2*", mid(my_field, instr(my_field, " 2") + 1, 100),
my_field like "* 1*", mid(my_field, instr(my_field, " 1") + 1, 100),
my_field like "* *", mid(my_field, instr(my_field, " ") + 1, 100),
1=1, my_field
)
from t;
您可以使用这个修改后的表达式来收回最后两个词:
Vehicle: Mid([My_Field],1+InStrRev([My_Field]," ",InStrRev([My_Field]," ")-1))
要去掉最后两个字:
Vehicle: Mid([My_Field],1,InStrRev([My_Field]," ",InStrRev([My_Field]," ")-1)-1)
我有 table 中的字符串列表,看起来像这样
John Doe 2015 Toyota
Bob Smith 2017 Dodge
Sally Simms 2015 Ford
我想删除第一个数字或末尾左侧两个空格之前的所有内容。我想留下:
2015 Toyota
2017 Dodge
2015 Ford
我已经尝试了 Left、Right 和 Mid 的所有组合以及 Instr 和 InsrtRev 的变体。有人可以帮我查询代码吗?这是我最后一次尝试,但没有成功:
Vehicle: Mid([My_Field],InStrRev(InStrRev(1,[My_Field]," ")+1,[My_Field]," "))
这在 MS Access 中非常不愉快。但是这样的事情应该有效:
select switch(my_field like "* 2*", mid(my_field, instr(my_field, " 2") + 1, 100),
my_field like "* 1*", mid(my_field, instr(my_field, " 1") + 1, 100),
my_field like "* *", mid(my_field, instr(my_field, " ") + 1, 100),
1=1, my_field
)
from t;
您可以使用这个修改后的表达式来收回最后两个词:
Vehicle: Mid([My_Field],1+InStrRev([My_Field]," ",InStrRev([My_Field]," ")-1))
要去掉最后两个字:
Vehicle: Mid([My_Field],1,InStrRev([My_Field]," ",InStrRev([My_Field]," ")-1)-1)