#24. Функции для даты/времени (SYSDATE, TO_DATE, LAST_DAY, ADD_MONTHS, EXTRACT, TRUNC) | Основы SQL

В сегодняшнем видео рассмотрим функции SQL, необходимые для работы с датой и временем.
00:00 - Вступление
00:27 - Получение текущей системной даты и времени (функция SYSDATE)
01:05 - Преобразовать строку в дату (функция TO_DATE)
01:59 - Получить последний день месяца (функция LAST_DAY)
02:28 - Добавить к дате N-ое количество месяцев (функция ADD_MONTHS)
02:57 - Извлечь из даты год, квартал, месяц (функция EXTRACT)
03:14 - Получить из даты первый день года, первый день квартала, первый день месяца, первый день недели (функция TRUNC)
Команды SQL, упоминаемые в видео, доступны по ссылке: pastebin.com/dJ44CnjW
Ссылка на домашнее задание: pastebin.com/raw/JjWPsdvM
Предложить новую тему для видео: vdsr7ufo2in.typeform.com/to/H...
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Также напоминаю. В рамках данного курса действует группа в Телеграм, в которой я в режиме онлайн отвечаю на все вопросы участников, помогаю по ходу обучения.
Вход в группу свободный, по ссылке приглашению (указана ниже). Ограничений по количеству участников на данный момент нет.
В указанной группе задавайте абсолютно любые вопросы, в рамках нашего обучения. Посмотрели видео, попробовали повторить. Получилось - отлично. Что-то не вышло, пишите вопрос в группу. Всем отвечу и помогу.
Ссылка на группу в Telegram: t.me/joinchat/LlHDMBmN0SAxM5_...
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
★ Дорогие друзья! Если вам нравится, что я делаю, и вы хотите поддержать проект материально, ссылка: www.donationalerts.com/r/exce...
★ Давайте дружить:
Facebook | / excelstore.pro
Вконтакте | ExcelStore
Telegramm | t.me/ExcelStore
#ОбучениеSQL #КурсыSQL #УрокиSQL #КухарьМаксим #ExcelStore

Пікірлер: 46

  • @ExcelStore
    @ExcelStore3 жыл бұрын

    К каждому уроку прилагаю домашнее задание (ссылка под видео). Делать задания или нет - исключительно на ваше усмотрение. Если будут какие-либо вопросы по выполнению домашнего задания, то: 1. Ссылка на предыдущие уроки: kzread.info/head/PLKl9v2TQvIkq4i_hZwZ1PmobxJSkIGwBf 2. Под видео ссылка на нашу группу в Телеграм, где вы всегда можете задать интересующие вас вопросы.

  • @user-kd5og5wf6z
    @user-kd5og5wf6z2 ай бұрын

    Огромное спасибо Максим!!! Очень информативный и полезный курс👍 Жаль, что невозможно больше одного лайка поставить. Материал подан кратко и четко, без воды. Супер 👍

  • @ExcelStore

    @ExcelStore

    2 ай бұрын

    Спасибо за отзыв!

  • @pheeantom9154
    @pheeantom91543 ай бұрын

    Прошел за 1 день, емко и понятно, для освежения знаний самое то. Спасибо!

  • @Dr_MaO
    @Dr_MaO2 ай бұрын

    Большое спасибо! Все очень понятно, для освоения базовых знаний супер-наглядно!!! До этого читала книгу, скачивала тренажер, но все не то. Этот курс идеален для начала погружения. Максим, спасибо Вам!

  • @lelel2400
    @lelel2400Ай бұрын

    Большое спасибо!!! Отличный, ёмкий и понятный курс.

  • @bokshalex
    @bokshalex Жыл бұрын

    Спасибо за курс)

  • @ExcelStore

    @ExcelStore

    Жыл бұрын

    Был рад помочь!

  • @user-pb2nk6cf7s
    @user-pb2nk6cf7s2 жыл бұрын

    Отличный курс, всё очень понятно и интересно! Максим, огромное спасибо за ваш труд!

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Спасибо, Павел! Рад, что курс приносит пользу.

  • @sergei_vasilkov
    @sergei_vasilkov2 жыл бұрын

    Этот курс прекрасен! Большое Вам спасибо!

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Спасибо за отзыв!

  • @Dayplaylist
    @Dayplaylist2 жыл бұрын

    Для статистики напишу что посмотрел данный курс уже будучи сотрудником по работе с данными, с каждым годом все реже правлю свои хранимые процедуры на ms sql server многие команды (функции) забылись решил пробудить память , данный курс очень хороший так как все очень быстро без воды и по делу👍😌 из минусов могу заметить что возможно было бы лучше использовать таблицы попроще с минимальным количеством столбцов чтобы ученикам было очевидно совершенное действие. Ещё раз благодарю за этот курс обязательно пройду продвинутую версию курса на вашем канале ... Оконные функции итд👍😉

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Спасибо большое за отзыв. На счет "по-проще" даже не знаю.. Куда уж проще таблицы ))) Следующий уровень вниз - это разве что двумерная таблица.

  • @zagu4196
    @zagu4196 Жыл бұрын

    Очень хороший вводный курс.

  • @ExcelStore

    @ExcelStore

    Жыл бұрын

    Спасибо!

  • @user-vu5fb2xs6c
    @user-vu5fb2xs6c2 жыл бұрын

    Спасибо за курс! Очень полезно и доходчиво

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Ксения, спасибо за отзыв!

  • @evgenyshevchenko2525
    @evgenyshevchenko25252 жыл бұрын

    отличный курс! буду рекомендовать!

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Спасибо, Евгений!

  • @user-vm1el9xb7g
    @user-vm1el9xb7g2 жыл бұрын

    спасибо за курс! очень доходчиво, понятно. Отдельное спасибо за домашние задания и чат в телеграмме, это очень помогло!

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Лера, спасибо за отзыв! Будут вопросы, пишите.

  • @Calmasastone
    @Calmasastone Жыл бұрын

    Максим, приветствую! Делал перерыв, в связи с релокацией, но за три дня освежил в памяти от и до задачки по данному курсу и теперь ощущаю себя достаточно комфортно. Спасибо Вам, буду продолжать продвинутый курс теперь! Хорошо, что не остановился, как в прошлый раз, когда начинал вначале года, теперь я поставил конкретную цель - перейти в аналитику и внутренний "я" за одно со мной :)

  • @ExcelStore

    @ExcelStore

    Жыл бұрын

    Антон, приветствую. Если не секрет, куда перебрались?

  • @Calmasastone

    @Calmasastone

    Жыл бұрын

    @@ExcelStore обязательно отпишу в TG, но попозже, сейчас занятия по плану

  • @GansKloss1
    @GansKloss1 Жыл бұрын

    Спасибо огромное!! Курс шикарен))

  • @ExcelStore

    @ExcelStore

    Жыл бұрын

    Спасибо, Сергей! Еще есть группа в телеграме с поддержкой и помощью по SQL. Заходите если что )

  • @LariMi
    @LariMi3 жыл бұрын

    Спасибо что делитесь опытом и знаниями! Понравилось видео.

  • @ExcelStore

    @ExcelStore

    3 жыл бұрын

    Спасибо за отзыв!

  • @0Bunin
    @0Bunin2 жыл бұрын

    спасибо за курс

  • @JahongirDev
    @JahongirDev3 жыл бұрын

    спасибо за урок

  • @DMITRIYGeorgia
    @DMITRIYGeorgia9 ай бұрын

    Спасибо

  • @user-bl8qt7uy3u
    @user-bl8qt7uy3u2 жыл бұрын

    классный курс

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Спасибо за отзыв! Будут вопросы по курсы либо SQL в целом - задавайте в нашей группе в Телеграм.

  • @ifeoperations9993
    @ifeoperations99932 ай бұрын

    🎉

  • @user-do4nq3fr6t
    @user-do4nq3fr6t2 жыл бұрын

    почему SYSDATE (на примере рассмотрения TRUNCATE) не возвратил время помимо даты? особенности SQL Developer?

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Да, это специфика вывода в SQL Developer. Если тот же запрос выполнить в PL/SQL Dev, то все нормально отображается (дата + время).

  • @Vic7bd

    @Vic7bd

    2 жыл бұрын

    Это легко включить, через настройки NLS, хоть до сотых укажите там и будет по умолчанию всё.

  • @Vic7bd
    @Vic7bd2 жыл бұрын

    Спасибо, коротко и ясно. Искал и ищу ответ, может кто сталкивался, почему если пытаешься вычитать дату (надо получить разницу в секундах) то если преобразовывать TO_CHAR совместно с TO_DATE и вычет получается одно значение, а если напрямую даты вычитать и потом функцией EXTRACT вытаскиваю секунды, получаю другие значения. Разница иногда не видна почти, но иногда почти 2-3 секунды?

  • @ExcelStore

    @ExcelStore

    2 жыл бұрын

    Виктор, пока вроде такого не замечал. Можете пример привести (запрос, чтобы проверить у себя)?

  • @Vic7bd

    @Vic7bd

    2 жыл бұрын

    @@ExcelStore Спасибо! Что то так и не сумел толковый пример создать, но пока всё перебирал кажется понял то, что искал. По сути там где возник вопрос из БД вычислялось время от Старта до Финиша (получения сообщений) и там итоги в секундах, но одно дело разницу получать через TO_CHAR TO_DATE, а другое получилось, когда я решил отказаться от таких "больших" преобразований, просто вычесть даты которые уже есть (значений) и от туда применяя EXTRACT из полученного формата "INTERVAL DAY TO SECOND" вытягивать секунды. Оказалось (по описанию" формат INTERVAL DAY TO SECOND уже сам "округляет" до нужного значение "понимая" что у нас мера 24 часа, 60 минут, 60 секунд и в итоге остаются только несколько сотых, тогда как просто вычитая (хоть и применяется округление) значения гораздо точнее получалось. ==== Очень грубый пример как то так примерно если запросить, то SELECT TO_CHAR(SYSDATE,'DD MM YYYY HH24:MI:SS') AS "Дата",SYSTIMESTAMP, TO_CHAR(TO_DATE(TO_CHAR(SYSDATE,'DD MM YYYY HH24:MI:SS'),'DD MM YYYY HH24:MI:SS') - TO_DATE('15 05 2022 23:52:40','DD MM YYYY HH24:MI:SS'))*24*60*60 AS "Секунды разность ДАТ", EXTRACT(SECOND FROM (SYSTIMESTAMP - TO_DATE('15 05 2022 23:52:40','DD MM YYYY HH24:MI:SS'))) AS "Секунды разность EXTRACT" FROM DUAL; ==== Итоги 17,9999999999999999999999999999999999712 18,814 Поэтому второй вариант где как бы красивее и не перебирая форматы проще было, вычесть дата и получать секунды, при округлении всё равно примерно тоже самое получилось бы, но точность там в итоге ниже чуть чуть, если использовать в таком варианте.

  • @MrBooomsik
    @MrBooomsik Жыл бұрын

    Добрый день, а если ли такая функция которая возвращает в одном столбце месяц и год из даты? (в формате дата)

  • @ExcelStore

    @ExcelStore

    Жыл бұрын

    Добрый день. select trunc(sysdate, 'MONTH') from dual

  • @MrBooomsik

    @MrBooomsik

    Жыл бұрын

    @@ExcelStore А можно ли сделать так, что бы день в принципе не отображался? т.е. результат был 02.2023, а не 01.02.2023?

  • @ExcelStore

    @ExcelStore

    Жыл бұрын

    @@MrBooomsik to_char(sysdate, 'MM.YYYY')

  • @MrBooomsik

    @MrBooomsik

    Жыл бұрын

    @@ExcelStore тут уже формат текста на выходе но спасибо за помощь, об этом варианте знаю

Келесі