Sql MS-Access中的CONCAT等价物

Sql MS-Access中的CONCAT等价物,sql,ms-access,ms-access-2010,Sql,Ms Access,Ms Access 2010,我在MS Access中做了一些工作,我需要在一组字段中添加前缀,我知道SQL,但在Access中似乎不太一样 基本上,我需要将其转换为在access中工作的命令: UPDATE myTable SET [My Column] = CONCAT ("Prefix ", [My Column]) WHERE [Different Column]='someValue'; 我上下搜索,似乎找不到简单的翻译。您可以使用&运算符: UPDATE myTable SET [My Column]

我在MS Access中做了一些工作,我需要在一组字段中添加前缀,我知道SQL,但在Access中似乎不太一样

基本上,我需要将其转换为在access中工作的命令:

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

我上下搜索,似乎找不到简单的翻译。

您可以使用
&
运算符:

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

据我所知,由于MS-ACCESS中没有CONCAT函数,因此没有CONCAT,您只需将两个字符串与
+
运算符组合即可:

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

Access中有两个连接运算符可用:
+
;和
&
。它们在处理Null的方式上有所不同

“foo”+Null
返回Null

“foo”&Null
返回
“foo”

因此,如果您想在以后更新Null
[My Column]
字段以包含
“前缀”
,请使用

设置[我的列]=“前缀”和[我的列]
但如果您希望将其保留为Null,则可以使用
+
运算符来代替

SET[My Column]=“Prefix”+[My Column]
但是,在第二种情况下,您可以修改
WHERE
子句以忽略
[My Column]
包含Null的行

其中[Different Column]='someValue'和[My Column]不为空

对于字符串浓缩,您应该使用&因为它显式地是一个字符串操作。加号可能会产生意想不到的结果谢谢弗雷德,工作得很好。奇怪的是ACCESS不允许所有的SQL函数。啊,我还没有意识到这两者之间有区别,谢谢HansUp,很高兴知道这一点,因为我不想把我所有的值都清空!