INT 21h

Hi, I am Vladimir Smagin, sysadmin. Telegram Email

Firebird: convert date format

№ 2462 В разделе "Программирование" от November 13th, 2010,

Все мы прекрасно понимаем, что при разработке ПО для российского рынка использовать зарубежные стандарты не правильно. Одним из таких “неправильно” является использование даты в американском стиле (она читается наоборот). Если вы планируете использовать преобразование даты часто, то это можно сделать не в клиентском приложении, а с помощью процедуры на самом сервере. Конечно, вам никто не запрещает сделать $date = DateTime::createFromFormat('Y-m-d H:i:s', $record->TS); echo $date->format('d.m.Y H:i:s'); ($record->TS это запись в БД типа TIMESTAMP) и забыть об этом, но разве это интересно? 🙂 Давайте обременим сервер заниматься этим! Создадим новую процедуру и назовем ее DATE_EURO:

/* AMERICAN DATE TO EURO FORMAT CONVERTER */
SET TERM ^ ;

CREATE PROCEDURE DATE_EURO (
 ADATE TIMESTAMP)
RETURNS (
 EURO  VARCHAR(10))
AS 
BEGIN
   
   EURO = CAST(
            (
             (Extract (Day from ADate))||'-'||
             (Extract (Month from ADate))||'-'||
             (Extract (Year from ADate))
            ) AS VARCHAR(10));
   suspend;
END^

SET TERM ; ^

Сохраняем на сервере и теперь ее можно начать использовать:

select first 10 skip 0  ( SELECT * FROM DATE_EURO("TIME") ) as "P_DATE", 
( CAST ("TIME" AS TIME) ) as "P_TIME", 
...
ORDER BY "TIME" desc

Здесь поле TIME хранит в себе TIMESTAMP. Получится вот такая красота 13-11-2010 04:18:19 🙂

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Комментарии

  • 21h: нене ) без меня )
  • Серегй: Не совсем грабить)) если грабить можно и без рации, есть...
  • 21h: магазин грабить собрались? ) не, тут я не помощник ;)
  • Серегй: А что бы мне поймать чужую волну, что мне для этого нужно...
  • 21h: слушать никто не запрещает. нет закона, который запрещает...
  • Серегй: Я хотел узнать могу ли я просто прийти с данной рацией baofeng...
  • 21h: У меня есть только эти 2. По другим ничего не знаю. В интернете...

© Vladimir Smagin, 2005-2017. Копирование материалов без разрешения запрещено.
Яндекс.Метрика