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) NOT
pode 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