+和&之间的差异在ssrs表达式中

时间:2015-12-15 09:51:45

标签: sql-server reporting-services ssrs-expression

我正在研究SSRS报告。

我有一个问题,ssrs-expression中+&之间有什么区别?

请用简短的例子分享您的答案。感谢。

2 个答案:

答案 0 :(得分:1)

来自Visual Studio中的SSRS运算符说明:

+添加两个数字。也用于连接两个字符串。

示例:

=Fields!NumberCarsOwned.Value + 2
/* if NumberCarsOwned=10, result: 10 + 2 = 12 */

=Fields!String1.Value + Fields!String2.Value
/* if String1='curious' and String2 ='guy', result: 'curiousguy' */

="4" + 5
/* result: 9, implicit conversion of the first expression */

="a" + 5
/* error: incorrect input string format */

="a" + CStr(5)
/* result: a5 */

="a" + Str(5)
/* result: a 5, space between 'a' and '5' */

&生成两个表达式的字符串连接。

示例:

=Fields!FirstName.Value & Fields!LastName.Value
/* if FirstName='curious' and LastName='guy', result: 'curiousguy' */

=4 & 5
/* it's concatenation anyway, result: 45 */

=CInt(4) & CInt(5)
/* even explicit cast to integer it's concatenation anyway, result: 45 */

另一个有用的运算符是And(逻辑/按位AND),这可能有助于解决某些任务。

示例:

=4 And 5
/* result: 4, since 4 (100 binary) And 5 (101 binary) = 4 (100 binary) */
="4" And "5"
/* result: 4 */
="a" And "b"
/* error: incorrect input string format */

答案 1 :(得分:0)

实际上它取决于你将如何使用它们。

1.。)用于连接目的

根据MSDN:

enter image description here

  • 使用&+进行连接将导致相同的行为或输出。它只会连接两个字符串。

示例:

= 1 & 2

输出: 12

= "1" + "2"

输出: 12

2.)出于算术目的

根据MSDN: enter image description here

  • 使用+进行算术会将两个数字加在一起

示例:

= 1 + 2 //(using two numbers)

输出: 3

= 1 + "2" //(using a number and a number with quotes)

输出: 3
---------------------------------------------- --------------------------
<强>例外

现在有一个例外,即整数和字符串混合在一起或与其他类型混合

示例:

= 1 + "two"

输出: #Error - &gt;这是因为它们彼此不相容。

  • 解决方法 - 使用转换函数将字段的默认数据类型转换为计算或组合文本所需的数据类型。

示例:

= CSTR(1) + "two"

输出: 1two

根据您的需要,您还可以使用其他conversion functions