πŸ” Как Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL? ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство

Как Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL?

Π’ SQL Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DATEDIFF() для вычислСния Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄Π°Ρ‚Π°ΠΌΠΈ. Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄Π°Ρ‚Π°ΠΌΠΈ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, днях, часах ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Π°Ρ…).


SELECT DATEDIFF(unit, start_date, end_date) AS date_difference;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ unit - это Π΅Π΄ΠΈΠ½ΠΈΡ†Π° измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ, start_date - это Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π΄Π°Ρ‚Π°, Π° end_date - это конСчная Π΄Π°Ρ‚Π°.

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² днях ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄Π°Ρ‚Π°ΠΌΠΈ:


SELECT DATEDIFF(day, '2022-01-01', '2022-01-05') AS date_difference;

Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² днях ΠΌΠ΅ΠΆΠ΄Ρƒ 1 января 2022 Π³ΠΎΠ΄Π° ΠΈ 5 января 2022 Π³ΠΎΠ΄Π°, которая Ρ€Π°Π²Π½Π° 4.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Ρ‚Π΅Π±Π΅, ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL. Π­Ρ‚Π° Ρ‚Π΅ΠΌΠ° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ для выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ расчСт возраста, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ прСбывания ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Для Π½Π°Ρ‡Π°Π»Π°, Π΄Π°Π²Π°ΠΉ разбСрСмся ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Π² SQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… DATE, DATETIME ΠΈΠ»ΠΈ TIMESTAMP для хранСния Π΄Π°Ρ‚ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ зависимости ΠΎΡ‚ Ρ‚Π²ΠΎΠΈΡ… потрСбностСй, Ρ‚Ρ‹ моТСшь Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подходящий Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для хранСния Π΄Π°Ρ‚Ρ‹ Π² своСй Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DATEDIFF. Π­Ρ‚Π° функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π²Π΅ Π΄Π°Ρ‚Ρ‹, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ DATEDIFF для нахоТдСния Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ:

SELECT DATEDIFF('2022-01-01', '2021-01-01') AS DateDiff;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ вычисляСм Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ 1 января 2022 Π³ΠΎΠ΄Π° ΠΈ 1 января 2021 Π³ΠΎΠ΄Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСн Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ‹ Π²Ρ‹Π±Ρ€Π°Π». Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, это Π±ΡƒΠ΄Π΅Ρ‚ количСство Π΄Π½Π΅ΠΉ.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ моТСшь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ измСрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ "hour" (час), "minute" (ΠΌΠΈΠ½ΡƒΡ‚Π°), "month" (мСсяц) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. НапримСр:

SELECT DATEDIFF(hour, '2022-01-01 12:00:00', '2022-01-01 10:00:00') AS DateDiff;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ вычисляСм Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ 12:00 ΠΈ 10:00 1 января 2022 Π³ΠΎΠ΄Π° Π² часах.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄Π°Ρ‚Π°ΠΌΠΈ Π² Π±ΠΎΠ»Π΅Π΅ понятном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Ρ‚Ρ‹ моТСшь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DATE_FORMAT для форматирования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. НапримСр:

SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 YEAR), '%Y Π³ΠΎΠ΄(Π°), %m мСсяцСв ΠΈ %d Π΄Π½Π΅ΠΉ') AS DateDiff;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ вычисляСм Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ сСгодняшнСй Π΄Π°Ρ‚ΠΎΠΉ ΠΈ Π΄Π°Ρ‚ΠΎΠΉ, отнятой Π½Π° 1 Π³ΠΎΠ΄. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСн Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ "<ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π»Π΅Ρ‚>, <ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ мСсяцСв> ΠΈ <ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π΄Π½Π΅ΠΉ>".

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Ρ‹ моТСшь Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ DATEDIFF. Π£Ρ‡Ρ‚ΠΈ, Ρ‡Ρ‚ΠΎ каТдая Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свои особСнности ΠΏΠΎ использованию Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, поэтому Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π‘Π£Π‘Π”, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ трудности.

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Ρ‚Π΅Π±Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² вопросС поиска Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL. Если Ρƒ тСбя Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΈΠ»ΠΈ Ρ‚Ρ‹ Π½ΡƒΠΆΠ΄Π°Π΅ΡˆΡŒΡΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ стСсняйся Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… β€” я всСгда Π³ΠΎΡ‚ΠΎΠ² ΠΏΠΎΠΌΠΎΡ‡ΡŒ!

Π£Π΄Π°Ρ‡ΠΈ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ SQL!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² SQL

Π£Ρ€ΠΎΠΊ 33. SQL. Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Ρ‚Π°ΠΌΠΈ.

07 - Π Π°Π±ΠΎΡ‚Π° с Π”Π°Ρ‚ΠΎΠΉ ΠΈ Π’Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ - Π£Ρ€ΠΎΠΊΠΈ PostgreSQL

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ SQL Server: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ сайт SQL: основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π°

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL? ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство

πŸ”— Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π² SQL: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Как пСрСнСсти Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Excel Π² SQL: пошаговоС руководство

Как пСрСнСсти Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Access Π² SQL