Funkcja mnożenia w MySQL

Funkcja mnożenia w MySQL.

Składnia

Nie możesz po prostu napisać dwóch liczb w MySQL, aby uzyskać produkt. Musisz wprowadzić problem w zapytaniu SELECT MySQL. Na przykład napisz "SELECT 4 * 5;" w narzędziu do wysyłania zapytań i MySQL zwróci "20" jako produkt. Napisz "SELECT column1 * column2 FROM tablename;" używać wartości z tabeli. Możesz także mnożyć liczby według kolumn. Napisz "WYBIERZ 4 * 5 AS" Produkt ";" umieścić etykietę w kolumnie, która pokazuje wynik.

Typy danych

MySQL automatycznie konwertuje wartości różnych typów, gdy można wykonać mnożenie. Jeśli pomnożysz liczbę całkowitą przez liczbę zmiennoprzecinkową, na przykład 15 na 3.0, MySQL zwróci liczbę zmiennoprzecinkową, która w tym przypadku wynosi 45, 0. Jeśli pomnożysz liczbę całkowitą przez datę, MySQL zwróci liczbę całkowitą. Na przykład trzy razy "2011-07-15" zwraca 60 332 145. MySQL nie interpretuje skryptów daty jako znaków minus. Jednak MySQL nie może konwertować wszystkich typów danych. Jeśli spróbujesz użyć ciągu lub znaku w mnożeniu, MySQL zwróci zero.

Limit

Podczas używania liczb całkowitych w twoich multiplikacjach, MySQL automatycznie wykrywa wielkość liczby, niezależnie od tego, czy ma znak, czy nie, a następnie wykonuje obliczenia. Jednak największym typem całkowitym jest "bigint", który pozwala na wartości ze znakiem -9, 223, 372, 036.854, 75, 808 do 9, 223, 372, 06, 854, 75, 807 lub wartościami bez znaku od zera do 18 446 774 070 709 551 615, Jeśli spróbujesz pomnożyć wartość większą niż te liczby lub wynik mnożenia jest większy, MySQL zwraca zero jako wynik, ponieważ nie może zarządzać tak dużymi wartościami.

Rozważania

Możesz pomnożyć całą kolumnę przez pojedynczą wartość lub nawet przez inną kolumnę, ale jeśli kolumna zawiera tysiące rekordów, MySQL może trochę potrwać, aby zwrócić wynik mnożenia. Aby zmniejszyć potencjalny czas oczekiwania, użyj klauzuli "WHERE", gdy tylko jest to możliwe, aby określić, które kolumny chcesz użyć w mnożeniu lub użyj klauzuli "LIMIT", aby zwrócić maksymalną liczbę wierszy na raz.