Я должен возвести число в степень, и я не знаю, какую функцию использовать между POW() и POWER(). Какая из двух функций лучше?
Глядя на документацию MySQL, я увидел, что они синонимичны, но я хотел понять, есть ли причина для двух функций, которые делают одно и то же.
В какой-то момент причина наличия двух функций, которые являются синонимами, сводится к произвольным решениям без явных преимуществ или недостатков. Есть две функции, потому что есть две функции.






POWER является синонимом POW. Так что лучше нет ничего, то же самое:
POWER(X,Y)
This is a synonym forPOW().
Использование двух разных имен для одной и той же функции дает вам возможность переносить SQL-запрос с одного диалекта на другой без (больших) изменений.
Пример:
Вы также хотите использовать следующий запрос TSQL в MySQL:
SELECT POWER(2,2) -- 4
Теперь вы можете написать эти запросы для диалектов:
SELECT POWER(2,2) -- 4 - TSQL (POW is not available on TSQL)
SELECT POW(2,2) -- 4 - MySQL
Но вы также можете использовать функцию POWER в MySQL, поскольку это синоним POW:
SELECT POWER(2,2) -- 4 - TSQL and MySQL
pow и power - синонимы в MySQL.
Я бы использовал power, поскольку он является частью стандарта ANSI SQL, и его использование упростило бы перенос вашего кода, если вы когда-нибудь решите использовать другую базу данных.
Я не проверял, но предполагаю, что две функции предназначены для совместимости с другими брендами СУБД.