我试图弄清楚更新查询是否真的是我需要的。我有一个名为account_numbers的字段,每个条目都包含一个以字母“M”开头的3位数字。
Account number
M001
M002
M003
它一直到999.我想要做的就是从每个帐号中删除“M”。我查看了Microsoft教程中的更新查询,看起来我可能还需要其他东西。有人可以告诉我最简单的方法吗?
谢谢,
答案 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);