πŸ“… SQL date: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL

SQL DATE - это Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² SQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π΄Π°Ρ‚. Он прСдставляСт собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π³ΠΎΠ΄Π°, мСсяца ΠΈ дня.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹:

SELECT CURRENT_DATE;

2. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для прСобразования строк Π² Π΄Π°Ρ‚Ρƒ:

SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD');

3. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния для сравнСния Π΄Π°Ρ‚:

SELECT * FROM orders WHERE order_date > '2022-03-15';

4. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ:

SELECT EXTRACT(YEAR FROM order_date) AS year FROM orders;

Π­Ρ‚ΠΎ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π΄Π°Ρ‚ Π² SQL. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π°Ρ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ части Π΄Π°Ρ‚Ρ‹ (Π³ΠΎΠ΄, мСсяц, дСнь), вычислСниС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Ρ‚Π°ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

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

SQL Date: Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL. Π”Π°Ρ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, поэтому Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² SQL запросах. ΠœΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аспСкты Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π°Ρ‚Π°ΠΌΠΈ.

1. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Ρ‚

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρ‹. Π’ SQL, Π΄Π°Ρ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ "YYYY-MM-DD", Π³Π΄Π΅ YYYY - Π³ΠΎΠ΄, MM - мСсяц ΠΈ DD - дСнь.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ форматирования Π΄Π°Ρ‚Ρ‹:


SELECT DATE_FORMAT(date_column, "%Y-%m-%d") AS formatted_date
FROM table_name;

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DATE_FORMAT, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. ВмСсто "date_column" ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя столбца с Π΄Π°Ρ‚ΠΎΠΉ, Π° вмСсто "table_name" - имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТится столбСц с Π΄Π°Ρ‚ΠΎΠΉ.

2. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π΄Π°Ρ‚

Когда ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL, часто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ Π³ΠΎΠ΄, мСсяц ΠΈΠ»ΠΈ дСнь. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π³ΠΎΠ΄Π° ΠΈΠ· Π΄Π°Ρ‚Ρ‹:


SELECT EXTRACT(YEAR FROM date_column) AS year
FROM table_name;

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ мСсяца ΠΈΠ· Π΄Π°Ρ‚Ρ‹:


SELECT EXTRACT(MONTH FROM date_column) AS month
FROM table_name;

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ дня ΠΈΠ· Π΄Π°Ρ‚Ρ‹:


SELECT EXTRACT(DAY FROM date_column) AS day
FROM table_name;

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ EXTRACT, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π΄Π°Ρ‚Ρ‹. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ "date_column" Π½Π° имя столбца с Π΄Π°Ρ‚ΠΎΠΉ, Π° "table_name" - Π½Π° имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, которая содСрТит столбСц с Π΄Π°Ρ‚ΠΎΠΉ.

3. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π°Ρ‚Π°ΠΌΠΈ

SQL Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π°Ρ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ слоТСниС ΠΈΠ»ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ Π΄Π½Π΅ΠΉ. Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π½Π΅ΠΉ ΠΊ Π΄Π°Ρ‚Π΅:


SELECT DATE_ADD(date_column, INTERVAL 7 DAY) AS new_date
FROM table_name;

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DATE_ADD, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 7 Π΄Π½Π΅ΠΉ ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Π΅. Π—Π΄Π΅ΡΡŒ "date_column" - это имя столбца с Π΄Π°Ρ‚ΠΎΠΉ, Π° "table_name" - имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится столбСц с Π΄Π°Ρ‚ΠΎΠΉ.

Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ Π΄Π½Π΅ΠΉ ΠΈΠ· Π΄Π°Ρ‚Ρ‹:


SELECT DATE_SUB(date_column, INTERVAL 3 DAY) AS new_date
FROM table_name;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DATE_SUB, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ 3 дня ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹. Π—Π΄Π΅ΡΡŒ "date_column" - имя столбца с Π΄Π°Ρ‚ΠΎΠΉ, Π° "table_name" - имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится столбСц с Π΄Π°Ρ‚ΠΎΠΉ.

4. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли основныС аспСкты Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL. ΠœΡ‹ ознакомились с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Ρ‚, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π΄Π°Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π°Ρ‚Π°ΠΌΠΈ. НадСюсь, Ρ‡Ρ‚ΠΎ эта информация Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL.

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои SQL запросы ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° - Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π£Π΄Π°Ρ‡ΠΈ Π²Π°ΠΌ!

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

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

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

Π£Ρ€ΠΎΠΊ 34 - Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² DATE Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (SQL для ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…)

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ SQL snippet ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ?

Бколько символов Π² строкС SQL?

πŸ“… SQL date: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² SQL

SQL Loader: Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SQL COUNT ΠΊΠ°ΠΊ условиС