IF... | THEN the function... |
---|---|
num_bits_arg is equal to zero | returns target_arg unchanged. |
num_bits_arg is negative | rotates the bits to the right instead of the left. |
target_arg and/or num_bits_arg are NULL | returns NULL. |
num_bits_arg is larger than the size of target_arg | rotates (num_bits_arg MOD sizeof(target_arg)) bits. The scope of the rotation operation is bounded by the size of the target_arg expression. |
When operating against an integer value (BYTEINT, SMALLINT, INTEGER, or BIGINT), rotating a bit into the most significant position will result in the integer becoming negative. This is because all integers in Teradata Database are signed integers.