将文本字符串连接到特定值的末尾 (MS ACCESS)
Concatenate a Text String to the End of Specific Values (MS ACCESS)
我需要在访问查询中的某些作业编号的末尾添加“-CLOSED”。我可以一次将它添加到一个,但我需要为数千个值添加它。我不确定在 WHERE 子句中添加多个值的语法。
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE t_loc.loc = 'M14001' AND 'M14003'
WHERE t_loc.loc = 'M14001' AND 'M14003'
将不起作用,因为您说该列将在同一列中包含这两个值(我不确定这在 MS Access 中是否是正确的语法)。
如果您想为多列设置它,则需要检查该列是否包含特定值。以下是如何为多个值设置它的简短方法:
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE t_loc.loc IN ('M14001', 'M14003')
如果您想添加更多,则只需在括号内添加另一个值即可。但是由于您正在谈论数千个值,那么您最好有一个包含这些值的临时 table 然后将其更改为:
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE EXISTS
(
SELECT temploc.val
FROM temploc
WHERE temploc.val = t_loc.loc
)
我选择在第二个查询中使用 EXISTS
而不是 IN
因为当内部 select returns 1 行存在而不是返回时它更快每个条件检查的所有行。
我需要在访问查询中的某些作业编号的末尾添加“-CLOSED”。我可以一次将它添加到一个,但我需要为数千个值添加它。我不确定在 WHERE 子句中添加多个值的语法。
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE t_loc.loc = 'M14001' AND 'M14003'
WHERE t_loc.loc = 'M14001' AND 'M14003'
将不起作用,因为您说该列将在同一列中包含这两个值(我不确定这在 MS Access 中是否是正确的语法)。
如果您想为多列设置它,则需要检查该列是否包含特定值。以下是如何为多个值设置它的简短方法:
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE t_loc.loc IN ('M14001', 'M14003')
如果您想添加更多,则只需在括号内添加另一个值即可。但是由于您正在谈论数千个值,那么您最好有一个包含这些值的临时 table 然后将其更改为:
UPDATE t_loc
SET t_loc.loc = t_loc.loc & "-CLOSED"
WHERE EXISTS
(
SELECT temploc.val
FROM temploc
WHERE temploc.val = t_loc.loc
)
我选择在第二个查询中使用 EXISTS
而不是 IN
因为当内部 select returns 1 行存在而不是返回时它更快每个条件检查的所有行。