Equivalente CONCAT em MS Access

estou a fazer algum trabalho no MS Access e preciso de adicionar um prefixo a um monte de campos, conheço o SQL, mas não parece funcionar da mesma forma no Access

Basicamente preciso que isto seja traduzido para um comando que funcione no access:

UPDATE myTable
SET [My Column] = CONCAT ("Prefix ", [My Column]) 
WHERE [Different Column]='someValue';
Procurei para cima e para baixo e não consigo encontrar uma tradução simples.

Author: HansUp, 2013-12-05

4 answers

UPDATE myTable
SET [My Column] = "Prefix " & [My Column] 
WHERE [Different Column]='someValue';
Tanto quanto sei, não há CONCAT.
 10
Author: Fred, 2013-12-05 15:29:08

Há dois operadores de concatenação disponíveis no acesso: +; e &. Eles diferem na forma como lidam com Null.

"foo" + Null devolve Null

"foo" & Null devolve "foo"

Por isso, se quiser actualizar os campos nulos [My Column] para conter "Prefix " depois, use ...

SET [My Column] = "Prefix " & [My Column]

Mas se preferir deixá-lo como nulo, pode usar o operador {[[3]} em vez disso ...

SET [My Column] = "Prefix " + [My Column]
No entanto, no segundo caso, poderá rever a Cláusula WHERE para ignorar as linhas em que [My Column] contém nulo.
WHERE [Different Column]='someValue' AND [My Column] Is Not Null
 10
Author: HansUp, 2013-12-05 15:52:18

Pode usar o & operador:

UPDATE myTable
    SET [My Column] = "Prefix " & [My Column]
    WHERE [Different Column]='someValue';
 2
Author: Gordon Linoff, 2013-12-05 15:28:18

Uma vez que não existe nenhuma função Concat no MS-ACCESS, você pode simplesmente combinar ambas as cadeias de caracteres com + operador:

  UPDATE myTable
 SET [My Column] = "Prefix " + [My Column]
 WHERE [Different Column]='someValue';
 2
Author: Kiril Rusev, 2013-12-05 15:31:01