Udostępnij przez


Operatory jednoargumentowe — dodatnie (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca wartość wyrażenia liczbowego (operator jednoargumentowy). Operatory jednoargumentowe wykonują operację tylko na jednym wyrażeniu jednego z typów danych kategorii typów danych liczbowych.

Operator Meaning
+ (Jednoargumentowy dodatni) Wartość liczbowa jest dodatnia.
- (jednoargumentowe ujemne) Wartość liczbowa jest ujemna.
~ (Bitowy NOT) Zwraca uzupełnienie liczby.

Operatory + (dodatnie) i - (ujemne) mogą być używane w dowolnym wyrażeniu dowolnego typu danych kategorii typu danych liczbowych. Operator ~ (bitowy NOT) może być używany tylko dla wyrażeń dowolnego z typów danych kategorii typu danych liczb całkowitych.

Transact-SQL konwencje składni

Syntax

+ numeric_expression

Arguments

numeric_expression

Dowolne prawidłowe wyrażenie dowolnego z typów danych w kategorii typu danych liczbowych, z wyjątkiem typów danych datetime i smalldatetime .

Typy zwracane

Zwraca typ danych numeric_expression.

Remarks

Mimo że jednoargumentowy plus może pojawić się przed dowolnym wyrażeniem liczbowym, nie wykonuje żadnej operacji na wartości zwracanej z wyrażenia. W szczególności nie zwraca wartości dodatniej wyrażenia ujemnego. Aby zwrócić wartość dodatnią wyrażenia ujemnego, użyj funkcji ABS .

Examples

A. Ustawianie zmiennej na wartość dodatnią

W poniższym przykładzie zmienna jest ustawiana na wartość dodatnią.

USE tempdb;
GO

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

SELECT @MyNumber AS PositiveValue;
GO

Oto zestaw wyników.

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

B. Użyj operatora jednoargumentowego plusa z wartością ujemną

W poniższym przykładzie pokazano użycie jednoargumentowego plusa z wyrażeniem ujemnym i funkcją ABS w tym samym wyrażeniu ujemnym. Jednoargumentowy plus nie ma wpływu na wyrażenie, ale ABS() funkcja zwraca dodatnią wartość wyrażenia.

USE tempdb;
GO

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

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

Oto zestaw wyników.

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