# And Operator

Performs a logical conjunction on two expressions.

## Syntax

```
result = expression1 And expression2
```

## Arguments

*result*

Any numeric variable.*expression1*

Any expression.*expression2*

Any expression.

## Remarks

If, and only if, both expressions evaluate to **True**, *result* is **True**. If either expression evaluates to **False**, *result* is **False**. The logical operation is not short-circuited. All expressions are evaluated.

The following table illustrates how *result* is determined:

If expression1 is |
And expression2 is |
The result is |
---|---|---|

True |
True |
True |

True |
False |
False |

True |
Null |
Null |

False |
True |
False |

False |
False |
False |

False |
Null |
False |

Null |
True |
Null |

Null |
False |
False |

Null |
Null |
Null |

The **And** operator also performs a bitwise comparison of identically positioned bits in two numeric expressions and sets the corresponding bit in *result* according to the following table:

If bit in |
And bit in |
The |
---|---|---|

0 |
0 |
0 |

0 |
1 |
0 |

1 |
0 |
0 |

1 |
1 |
1 |

## Requirements

#### Change History

Date |
History |
Reason |
---|---|---|

March 2009 |
Added sentence stating that all expressions are evaluated. |
Customer feedback. |

## See Also

Logical Operators (VBScript)

Not Operator

Operator Precedence (VBScript)

Operator Summary (VBScript)

Or Operator

Xor Operator