Funcții matematice

Funcții pentru manipularea datelor în SQL Server

Ana Voicu

Data Engineer

ABS(numeric_expression)

  • Returnează valoarea absolută a unei expresii.
  • Este valoarea non-negativă a expresiei.
SELECT 
    ABS(-50.4 *3) AS negative,
    ABS(0.0) AS zero,
    ABS(73.2 + 15 + 8.4) AS positive;
| negative | zero | positive |
|----------|------|----------|
| 151.2    | 0    | 96.6     |
Funcții pentru manipularea datelor în SQL Server

SIGN(numeric_expression)

  • Returnează semnul unei expresii, ca număr întreg:
    • -1 (numere negative)
    • 0
    • +1 (numere pozitive)
SELECT 
    SIGN(-50.4 *3) AS negative,
    SIGN(0.0) AS zero,
    SIGN(73.2 + 15 + 8.4) AS positive;
| negative | zero | positive |
|----------|------|----------|
| -1.0     | 0    | 1.0      |
Funcții pentru manipularea datelor în SQL Server

Funcții de rotunjire

  • CEILING(numeric_expression)
    • Returnează cel mai mic număr întreg mai mare sau egal cu expresia.
  • FLOOR(numeric_expression)
    • Returnează cel mai mare număr întreg mai mic sau egal cu expresia.
  • ROUND(numeric_expression, length)
    • Returnează o valoare numerică rotunjită la lungimea specificată.
Funcții pentru manipularea datelor în SQL Server

Exemplu: funcții de rotunjire

SELECT 
    CEILING(-50.49) AS ceiling_neg,
    CEILING(73.71) AS ceiling_pos;

| ceiling_neg | ceiling_pos | 
|-------------|-------------|
| -50         | 74          | 

Funcții pentru manipularea datelor în SQL Server

Exemplu: funcții de rotunjire

SELECT 
    CEILING(-50.49) AS ceiling_neg,    
    FLOOR(-50.49) AS floor_neg,
    CEILING(73.71) AS ceiling_pos,
    FLOOR(73.71) AS floor_pos;

| ceiling_neg | floor_neg | ceiling_pos | floor_pos | 
|-------------|-----------|-------------|-----------|
| -50         | -51       | 74          | 73        | 

Funcții pentru manipularea datelor în SQL Server

Exemplu: funcții de rotunjire

SELECT 
    CEILING(-50.49) AS ceiling_neg,    
    FLOOR(-50.49) AS floor_neg,
    CEILING(73.71) AS ceiling_pos,
    FLOOR(73.71) AS floor_pos,
    ROUND(-50.493, 1)AS round_neg,
    ROUND(73.715, 2) AS round_pos;
| ceiling_neg | floor_neg | ceiling_pos | floor_pos | round_neg | round_pos |
|-------------|-----------|-------------|-----------|-----------|-----------|
| -50         | -51       | 74          | 73        | -50.500   | 73.720    |
Funcții pentru manipularea datelor în SQL Server

Funcții exponențiale

  • POWER(numeric_expression, power)
    • Returnează expresia ridicată la puterea specificată.
  • SQUARE(numeric_expression)
    • Returnează pătratul expresiei.
  • SQRT(numeric_expression)
    • Returnează rădăcina pătrată a expresiei.
  • De reținut: tipul expresiei este float sau poate fi convertit implicit la float.
Funcții pentru manipularea datelor în SQL Server

Exemplu: POWER()

SELECT   
POWER(2, 10)  AS pos_num,
POWER(-2, 10) AS neg_num_even_pow,
POWER(-2, 11) AS neg_num_odd_power,
POWER(2.5, 2) AS float_num,
POWER(2, 2.72) AS float_pow;
| pos_num | neg_num_even_pow | neg_num_odd_pow | float_num | float_pow |
|---------|------------------|-----------------|-----------|-----------|
| 1024    | 1024             | -2048           | 6.3       | 6         |
Funcții pentru manipularea datelor în SQL Server

Exemplu: SQUARE()

SELECT   
SQUARE(2)  AS pos_num,
SQUARE(-2) AS neg_num,
SQUARE(2.5) AS float_num;
| pos_num | neg_num | float_num |
|---------|---------|-----------|
| 4       | 4       | 6.25      |
Funcții pentru manipularea datelor în SQL Server

Exemplu: SQRT()

SELECT   
SQRT(2)  AS int_num,
SQRT(2.76) AS float_num;
| int_num         | float_num        |
|-----------------|------------------|
| 1.4142135623731 | 1.66132477258361 |
Funcții pentru manipularea datelor în SQL Server

Să exersăm!

Funcții pentru manipularea datelor în SQL Server

Preparing Video For Download...