嘿我想知道你怎么可能用“ - ”来减去查询的SELECT部分。那么你也可以用“+”来添加吗?我已经尝试过,而不是将这些值加在一起,这样做123 + 0.28 = 1230.28这可能与文本格式的数字有什么关系吗?但是,当我使用“ - ”时,我从来没有改变格式。感谢
我的代码:
INSERT INTO Table( Question, Calculation)
SELECT DISTINCT 'Addition' AS Question,(T2.Calculation + T1.Calculation) AS Calculation
FROM Some_Table T2, Some_Table T1
ORDER BY T2.Question;
答案 0 :(得分:4)
它可能将+解释为a和b之间的字符串连接。尝试“(a - 0)+(b - 0)”强制解释为数字。
答案 1 :(得分:4)
如果T2.Calculation和T1.Calculation是文本数据类型,请使用Val()函数在添加之前将它们转换为数字。
(Val(T2.Calculation) + Val(T1.Calculation)) AS Calculation
修改强>:
当您使用带有两个文本值的减号运算符时(如"2" - "1"
),如果可能,Access会将文本值转换为它们的等价数字。但是,如果任一文本值不表示有效数字,则减号运算符将为您提供“类型不匹配”错误...如"2" - "hans"
plus运算符的工作方式不同---有两个文本值,它会尝试连接它们,就像你使用了连接运算符(&)而不是加法运算符(+)...... {{ 1}}将为您提供“21”作为文本值而不是数字3.因此,在该特定情况下,"2" + "1"
等同于"2" + "1"
。
加法和连接运算符之间的一个重要区别是其中一个值为Null。 "2" & "1"
产生Null。但是"2" + Null
会产生“2”。
答案 2 :(得分:3)
是的,您可以使用'+'
将两个数字加在一起。
SELECT table1.Field1, table1.Field2, Field1+field2 As SumOfFields
FROM table1;
Field1 Field2 SumOfFields
1 2 3
2 3 5
编辑: 如果你有想要一起添加的字符串,那么你需要将字段转换为数字: - 因为有人指出CLng不会帮助OP。它已被更改为CDbl以允许小数。
SELECT table1.Field1, table1.Field2, CDbl(Field1)+CDbl(field2) As SumOfFields
FROM table1;
答案 3 :(得分:-1)
在0+
的公式前面,它会知道你用数字而不是字符串说话:
而不是[A]+[B]+[C]
放0+[A]+[B]+[C]