Виммельбух, 3, перетяжка
Виммельбух, 3, перетяжка
Виммельбух, 3, перетяжка

SQL как калькулятор. SQL - это просто

Аватарка пользователя Slava Rozhnev
Отредактировано

Рассказал, как использовать SQL в качестве продвинутого калькулятора. Привёл примеры вычислений над числами, датами и строками.

1К открытий6К показов

На предыдущих уроках мы познакомились с базовыми командами SQL. Теперь вы при желании сможете извлечь отсортировать и даже найти нужные данные в базе. Для этого нужно только помнить несколько магических слов.

На этом уроке я расскажу вам о несколько нестандартном применении языка SQL, а именно использование запросов в качестве калькулятора. Допустим вам нужно перемножить два достаточно больших числа которые трудно умножить в уме, а калькулятора под рукой не оказалось. Не беда – напишем запрос:

			SELECT 123455789 * 987654321;
		

Выполним запрос здесь.

			|-----------------------|
| 123455789 * 987654321 |
|-----------------------|
| 121931643458314269    |
		

Итак, всё просто. Таким образом можно использовать язык SQL для расчётов. Так же просто база данных справится и с расчётом посложнее:

			SELECT (123455789 * 987654321) / 4 - 999;
		

Не составят труда и математические функции. Знакомая со школы тригонометрическая формула переложенная на язык SQL выглядит так (здесь и далее используется синтаксис MySQL если вы пользуетесь другой базой данных вы можете найти подходящие функции в документации к ней):

			SELECT POW(SIN(0.5), 2) + POW(COS(0.5), 2)
		
			|-------------------------------------|
| POW(SIN(0.5), 2) + POW(COS(0.5), 2) |
|-------------------------------------|
| 1                                   |
		

Кроме операций с числами вы можете оперировать с датами и строками. Приведем несколько примеров таких операций. Например, узнаем день недели первого полёта человека в космос:

			SELECT DAYOFWEEK('1961-04-12');
		

Выполнив этот этот запрос мы узнаем, что это знаменательное событие произошло в среду.

Если ради любопытства мы захотим узнать длину строки мы воспользуемся запросом с функцией LENGTH.

			SELECT LENGTH('text');
		

В качестве итога хочу отметить что я не ставил целью перечислить все функции языка SQL (вы легко найдёте их в документации к нужной базе данных), цель урока в том чтобы показать что SQL является мощным инструментом позволяющим с лёгкостью производить необходимые вычисления не прибегая к другим инструментам. Напомни что вы можете экспериментировать с вычислениями в различных базах данных на онлайн SQL площадке SQLize.online.

Снова напомню что все вопросы к уроку можно задавать в комментариях к статье, а если вопросов не возникло – то продолжение здесь.

Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий6К показов