Sql MS-Access中的CONCAT等价物
我在MS Access中做了一些工作,我需要在一组字段中添加前缀,我知道SQL,但在Access中似乎不太一样 基本上,我需要将其转换为在access中工作的命令: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]
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,很高兴知道这一点,因为我不想把我所有的值都清空!