sql >> Database >  >> RDS >> Sqlserver

POWER() Voorbeelden in SQL Server

In SQL Server wordt de T-SQL POWER() functie is een wiskundige functie die de waarde van de gespecificeerde uitdrukking teruggeeft aan de gespecificeerde macht.

De functie accepteert twee argumenten; de eerste specificeert de uitdrukking, de tweede specificeert de kracht waarmee die uitdrukking wordt verheven.

De geretourneerde waarde is hetzelfde gegevenstype als het eerste argument.

Syntaxis

De syntaxis gaat als volgt:

POWER ( float_expression , y )

Waar float_expression is een uitdrukking van het type float of van een type dat impliciet kan worden geconverteerd naar float, en y is de kracht waarmee je float_expression . kunt verhogen .

j kan een uitdrukking zijn van de exacte numerieke of geschatte numerieke gegevenstypecategorie, behalve het bitgegevenstype.

Voorbeeld 1 – Basisgebruik

Hier is een eenvoudig voorbeeld om te demonstreren hoe deze functie werkt.

SELECT POWER(2, 3) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 8        |
+----------+

Voorbeeld 2 – Negatieve waarde

Hier is een voorbeeld van het doorgeven van een negatieve waarde voor het eerste argument.

SELECT 
  POWER(-2, 3) 'Result 1',
  POWER(-20, 3) 'Result 2',
  POWER(-2, 30) 'Result 3';

Resultaat:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| -8         | -8000      | 1073741824 |
+------------+------------+------------+

En hier is een negatieve waarde voor het tweede argument:

SELECT 
  POWER(2, -3) 'Result 1',
  POWER(20, -20) 'Result 2',
  POWER(200, -300) 'Result 3';

Resultaat:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

En vervolgens zijn beide argumenten negatief:

SELECT 
  POWER(-2, -3) 'Result 1',
  POWER(-20, -20) 'Result 2',
  POWER(-200, -300) 'Result 3';

Resultaat:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

Voorbeeld 3 – Nul

Hier is een voorbeeld van het doorgeven van nul als eerste argument.

SELECT 
  POWER(0, 3) 'Result 1',
  POWER(0, 20) 'Result 2',
  POWER(0, 300) 'Result 3';

Resultaat:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

En nul voor het tweede argument:

SELECT 
  POWER(3, 0) 'Result 1',
  POWER(20, 0) 'Result 2',
  POWER(300, 0) 'Result 3';

Resultaat:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 1          | 1          | 1          |
+------------+------------+------------+

Voorbeeld 4 – Passen in 1

Een waarde van 1 doorgeven voor het eerste argument.

SELECT 
  POWER(1, 3) 'Result 1',
  POWER(1, 30) 'Result 2',
  POWER(1, 300) 'Result 3';

Resultaat:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 1          | 1          | 1          |
+------------+------------+------------+

En 1 voor het tweede argument:

SELECT 
  POWER(3, 1) 'Result 1',
  POWER(30, 1) 'Result 2',
  POWER(300, 1) 'Result 3';

Resultaat:

+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 3          | 30         | 300        |
+------------+------------+------------+

Voorbeeld 5 – Uitdrukkingen

U kunt ook uitdrukkingen als deze doorgeven:

SELECT POWER(5*2, 2) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 100      |
+----------+

Dat is in feite hetzelfde als dit doen:

SELECT POWER(10, 2) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 100      |
+----------+

LOG10()

Transact-SQL heeft ook de LOG10() functie die omgekeerd gerelateerd is aan POWER() .


  1. Oracle DBA realtime vragen

  2. Een primaire sleutel voor automatische verhoging toevoegen aan een bestaande tabel in Oracle

  3. Kan geen toegangspunt vinden met de naam 'InterlockedIncrement' in DLL 'kernel32.dll' - [e-mail beveiligd] 64 bit

  4. Incrementele statistieken voor SQL Server 2014