web-dev-qa-db-ja.com

MSAccessで同等のCONCAT

私はMSAccessでいくつかの作業を行っており、一連のフィールドにプレフィックスを追加する必要があります。SQLは知っていますが、Accessではまったく同じようには機能しないようです。

基本的に、これをアクセスで機能するコマンドに変換する必要があります。

UPDATE myTable
SET [My Column] = CONCAT ("Prefix ", [My Column]) 
WHERE [Different Column]='someValue';

上下に検索しましたが、簡単な翻訳が見つからないようです。

7
salty
UPDATE myTable
SET [My Column] = "Prefix " & [My Column] 
WHERE [Different Column]='someValue';

私の知る限り、CONCATはありません

11
Fred

Accessで使用できる連結演算子は2つあります。+;および&。 Nullの処理方法が異なります。

"foo" + NullはNullを返します

"foo" & Null"foo"を返します

したがって、後でNull [My Column]フィールドを更新して"Prefix "を含める場合は、...を使用します。

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

ただし、Nullのままにしておきたい場合は、代わりに+演算子を使用できます...

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

ただし、2番目のケースでは、WHERE句を修正して、[My Column]にNullが含まれている行を無視することができます。

WHERE [Different Column]='someValue' AND [My Column] Is Not Null
15
HansUp

MS-ACCESSにはConcat関数がないため、両方の文字列を+演算子で簡単に組み合わせることができます。

  UPDATE myTable
 SET [My Column] = "Prefix " + [My Column]
 WHERE [Different Column]='someValue';
2
Kiril Rusev

&演算子を使用できます。

UPDATE myTable
    SET [My Column] = "Prefix " & [My Column]
    WHERE [Different Column]='someValue';
2
Gordon Linoff