MS Access更新查询

时间:2011-09-06 20:11:54

标签: ms-access ms-access-2007

我试图弄清楚更新查询是否真的是我需要的。我有一个名为account_numbers的字段,每个条目都包含一个以字母“M”开头的3位数字。

Account number

M001
M002
M003

它一直到999.我想要做的就是从每个帐号中删除“M”。我查看了Microsoft教程中的更新查询,看起来我可能还需要其他东西。有人可以告诉我最简单的方法吗?

谢谢,

4 个答案:

答案 0 :(得分:6)

试试这个:

UPDATE account_numbers
SET AccountNumber = Replace([AccountNumber],"M","")

编辑:先备份:D

答案 1 :(得分:2)

如果要使用更新查询,可以使用其他答案中建议的Replace()或Mid()函数。但是,由于你只想保留3个最右边的字符,我的冲动就是达到Right()函数。以下是立即窗口中的示例:

? Right("M001", 3)
001

因此,在查询中,它看起来像这样:

UPDATE account_numbers
SET AccountNumber = Right(AccountNumber , 3)

如果可能存在与“M”加上3位数的模式不匹配的AccountNumber值,则可以在更新中添加WHERE子句以忽略它们:

WHERE AccountNumber Like "M###"

答案 2 :(得分:1)

如果这是一次性的,最简单的方法就是在列上找到并替换它。

答案 3 :(得分:0)

如果您可以绝对确定帐号中唯一的M是开头的那个,那么Davide Piras' answer(用空字符串替换“M”)就可以了。

但是,如果帐号中有更多“M”,并且您只想摆脱第一个(例如:MKLMN - > KLMN),那么替换不会工作,你必须“切断”只有第一个字符:

UPDATE account_numbers 
SET AccountNumber = Mid([AccountNumber],2);