Podstawy

Select
Distinct
Where
Order by
And, or
As (alias)
Operatory

Tabele

Create
Insert
Delete
Update
Drop
Alter
Not null
Select into
Default
Unique
Typy danych

Funkcje

Funkcje
Avg
Count
Max
Min
Sum
Ucase
Lcase
Length
Replace
Round
Substring
Truncate

Kontakt:

Kontakt


TRUNCATE()

Funkcja TRUNCATE() może być mylona z funkcją ROUND().
Działanie funkcji polega na tym, że nasza wartość liczbowa jest "ucinana" do odpowiedniej długości po przecinku, jak również "przed" przecinkiem.
W przypadku użycia TRUNCATE() nie występuje zaokrąglenie liczby.

Składnia:

SELECT TRUNCATE(kolumna, ilość_miejsc) FROM tabela;


ilość_miejsc mówi nam jak dokładnie chcemy "uciąć" nasze liczby.

Przykład 1:

Podobnie jak w przypadku funkcji ROUND() posłużymy się pomocniczą tabelą, która pozwoli nam na lepsze zobrazowanie funkcji TRUNCATE().

Towar Cena
Serwer MySQL 1546.43
Serwer Oracle 1214.98
Na powyższej tabeli wykonujemy zapytanie:

SELECT Towar, TRUNCATE(Cena, 0) FROM Towar;
Towar TRUNCATE(Cena, 0)
Serwer MySQL 1546
Serwer Oracle 1214
Nasza cena została "ucięta" do 0 miejsc po przecinku.

Trzeba zwrócić uwagę, że w przypadku użycia funkcji TRUNCATE(Cena, 0) wartość w drugim wierszu to 1214. Użycie funkcji ROUND(Cena, 0) miałaby wartość 1215.
Związane jest to z tym, iż liczba 1214.98 zostałaby zaokrąglona w górę, czyli 1215.


Przykład 2:

SELECT Towar, TRUNCATE(Cena, 1) FROM Towar;
Towar TRUNCATE(Cena, 1)
Serwer MySQL 1546.4
Serwer Oracle 1214.9
W tym przykładzie również w drugim wierszu występuje różnica, co do użycia funkcji ROUND() z takimi samymi parametrami.

Przykład 3:

SELECT Towar, TRUNCATE(Cena, -3) FROM Towar;
Towar TRUNCATE(Cena, -3)
Serwer MySQL 1000
Serwer Oracle 1000


Wszelkie prawa zastrzeżone bazy-danych.net Polecamy Domowe sposoby