Operadores unários - Positivo (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric

Retorna o valor de uma expressão numérica (um operador unário). Os operadores unários desempenham uma operação em apenas uma expressão de qualquer um dos tipos de dados da categoria de tipo de dados numéricos.

Operador Significado
+ (Unário positivo) Valor numérico é positivo.
- (Unário negativo) Valor numérico é negativo.
~ (Não de bit a bit) Retorna o complemento das unidades do número.

Os + operadores (positivos) e - (negativos) podem ser usados em qualquer expressão de qualquer um dos tipos de dados da categoria de tipo de dados numéricos. O ~ operador (bit a bit) NOTpode ser usado somente em expressões de qualquer um dos tipos de dados da categoria de tipo de dados inteiro.

Convenções de sintaxe de Transact-SQL

Sintaxe

+ numeric_expression

Argumentos

numeric_expression

Qualquer expressão válida de qualquer um dos tipos de dados na categoria de tipo de dados numérico, exceto os tipos de dados datetime e smalldatetime.

Tipos de retorno

Retorna o tipo de dados de numeric_expression.

Comentários

Embora uma adição unária possa aparecer antes de qualquer expressão numérica, nenhuma operação é executada no valor retornado da expressão. Especificamente, ele não retorna o valor positivo de uma expressão negativa. Para retornar o valor positivo de uma expressão negativa, use a função ABS.

Exemplos

R. Definir uma variável para um valor positivo

O exemplo a seguir define uma variável como um valor positivo.

USE tempdb;
GO

DECLARE @MyNumber DECIMAL(10, 2);
SET @MyNumber = + 123.45;

SELECT @MyNumber AS PositiveValue;
GO

Veja a seguir o conjunto de resultados.

PositiveValue
--------------
123.45

B. Use o operador unário plus com um valor negativo

O exemplo a seguir mostra o uso do unário mais com uma expressão negativa e a função ABS na mesma expressão negativa. O unário mais não afeta a expressão, mas a ABS() função retorna o valor positivo da expressão.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = -5;

SELECT + @Num1 AS NegativeValue,
    ABS(@Num1) AS PositiveValue;
GO

Veja a seguir o conjunto de resultados.

NegativeValue  PositiveValue
-------------- --------------
-5             5