Działania arytmetyczne w MsSQL
Do wykonywania działań arytmetycznych w SQL Server wykorzystujemy standardowe operatory dodawania, odejmowania, mnożenia, dzielenia i reszty z dzielenia:
Operator | Opis |
Dodawanie | + |
Odejmowanie | – |
Mnożenie | * |
Dzielenie | / |
Reszta z dzielenia | % |
Poza operatorami arytmetycznymi wykorzystujemy także standardowe nawiasy (). Operatory możesz łączyćze sobą. Co ważne, jeśli wykonujesz operację dzielenia na liczbach całkowitych, którego wynikiem nie będzie liczba całkowita, powinieneś najpierw zmienić format liczb w działaniu na dowolny typ przecinkowy.
use AdventureWorks; go select (234+345) / 415 as RESULT1, (234.0+345.0) / 415.0 as RESULT2, --działanie na liczbach całkowitych ((34434.0-3412.0) / 535.0)*(158.0+6.0) as RESULT3, --powyższe działanie na liczbach zmiennoprzecinkowych FLOAT 99 % 11 as RESULT4 --modulo -reszta z dzielenia from HumanResources.EmployeePayHistory; ; GO
Zauważ, że w powyżej opisanym przykładzie, by podzielić przez siebie dwie liczby całkowite użyte zostało zero po kropce (np 6.0). Dzięki temu aparat bazy danych zwróci wynik dzielenia jako liczbę z ułamkiem dziesiętnym. W innym wypadku wynikiem będzie liczba całkowita.
Działania arytmetyczne na datach w SQL Server
Operatory + i – mogą być także wykorzystywane do dodawania i odejmowania dat o typach datetime i smalldatetime. Po odjęciu dat konwertujemy je na format liczbowy. Poniżej kilka przykładowych działań z wykorzystaniem operatorów. Dla wyjaśnienia funkcja getdate() zwraca bieżącą datę i godzinę w MsSQL.
use AdventureWorks; go select getdate() -1 ; GO
lub coś bardziej zaawansowanego:
use AdventureWorks; go select CONVERT(INT, (GETDATE()) - RateChangeDate) as RESULT5 from HumanResources.EmployeePayHistory; ; GO
Jeśli trafiłeś na ten temat przypadkiem, zapraszam do skorzystania z kursu SQL Server
Komentarz do “Operatory arytmetyczne w SQL Server”
siema