MS Access 更新查询

3

我正在尝试弄清楚是否需要更新查询。我有一个名为account_numbers的字段,每个条目都由以字母"M"为前缀的3位数字组成。

Account number

M001
M002
M003

这个账户号码最高可以达到999。我想要做的就是从每个账户号码中移除"M"。我查看了微软教程中的更新查询,但似乎我需要其他的东西。请问有没有最简单的方法可以实现这个操作?

谢谢。

4个回答

6

试试这个:

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

编辑:首先要备份 :D


2
如果您想使用更新查询,可以像其他答案中建议的那样使用Replace()或Mid()函数。但是,既然您只想保留最右侧的3个字符,我的直觉会选择使用Right()函数。以下是来自即时窗口的示例:
? Right("M001", 3)
001

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

So, in a query, it could look something like this:

UPDATE account_numbers
SET AccountNumber = Right(AccountNumber , 3)

如果存在与"M"加3个数字格式不匹配的AccountNumber值,您可以添加WHERE子句以在更新中忽略它们:
WHERE AccountNumber Like "M###"

1
如果这只是一次性的操作,最简单的方法就是在该列上查找并替换。

0

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

但是,如果帐号中有更多的“M”,而您只想摆脱第一个(例如:MKLMN --> KLMN),那么替换就行不通了,您必须“剪掉”第一个字符:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接