суббота, 30 марта 2013 г.

TRUNC. Часть 3

Вчера я рассмотрел работу с функцией TRUNC для обрезания времени в дате. Там я использовал вызов функции без каких либо параметров (точнее с одним – дату передавал). Сегодня расскажу о работе с дополнительными параметрами, в частности – про использование форматирующей строки.


Для получения текущей даты без времени TRUNC нужно использовать без параметров, как уже было сказано. Но можно усекать дату до месяца, года, дня недели и так далее. Это тоже очень полезные возможности, в последнее время (когда активно с отчетами начал работать) – они мне пригодились.


Формат проставляется в скобках после даты (в данном случае – через запятую после sysdate). Форматы используются такие же, какие используются при форматировании даты. Лучше загуглить эти форматы, так как там есть особенности, которые я здесь указывать не буду – много места займет.


Основные форматы (но есть и куча других): YYYY (года), Q (квартал), MM (месяц), WW (день недели), HH или HH24 (часы), MI (минуты). Проверяйте, главное – практика, чтобы запомнить эти форматы. А лучше – какой-нибудь хороший примерчик себе сделать, чтобы наверняка все запомнить.


Например, если выполнить запрос SELECT TRUNC(SYSDATE, 'mm') FROM dual t , то в результат будет 01.03.2013. Все логично – такой запрос отбросил все, что больше первого дня месяца и эту дату нам и вернул. Не путайте с round (он округлит до первого апреля, это не всегда надо).


В общем, TRUNC (применительно к датам) необходимо использовать тогда, когда надо получить первый элемент даты (час, день, месяц, год и так далее) без учета времени – это важное замечание. Если используется TRUNC – пропадет компонент времени. Если он вам не нужен – то смело используйте TRUNC.


На этом повествование про функцию TRUNC языка PL/SQL я закончу. Искал еще способы использования данной функции – не нашел. В скором времени постараюсь еще о какой-нибудь полезной фишке для PL/SQL расскажу, надо только выбрать самое интересное (но наверно что-то из области группировок).

А еще искал недавно мне рассказали об одном функциональном поисковике по файлам, filescircle.com, надо будет заценить. Надо несколько файлов найти, так что и проверю работоспособность данного поисковика сумею. Вы тоже можете его использовать.

Комментариев нет:

Отправить комментарий