Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

формат даты в InterBase [D7, IB6.x]


MZ ©   (2007-02-06 11:36:00) 

Люди добрые помогите! проблемас форматом даты...
В базе дата хранится как 01.01.2001, затем в хранимой процедуре я перевожу ее в строку (... select '№'||number||' от '||date into dogovor...) и получается у меня №1 от 1-JAN-2001, а надо чтоб было №1 от 1.01.2001... Заранее спасибо


Johnmen   (2007-02-07 01:22:00) [1]


> MsGuns ©   (07.02.07 00:31) [12]

Имелось в виду DATE в 1 диалекте, TIMESTAMP в 3 диалекте, ну те, в которых датавремя. И в птичке, и в дятле, и просто в ИБ...Про Дельфи вообще ничего не говорим...


Германн   (2007-02-07 00:47:00) [2]


> MsGuns ©   (07.02.07 00:31) [12]
>
> >Desdechado ©   (06.02.07 22:52) [10]
> >Johnmen ©   (06.02.07 23:13) [11]
>
> Я извиняюсь, если что..
> Вы имеете в виду структуру даты в дельфи или бинарное представление
> даты "внутре" птички ?
>

А "внутре"есть вообще только набор байт некоего размера. И всё!


MsGuns   (2007-02-07 00:31:00) [3]

>Desdechado ©   (06.02.07 22:52) [10]
>Johnmen ©   (06.02.07 23:13) [11]

Я извиняюсь, если что..
Вы имеете в виду структуру даты в дельфи или бинарное представление даты "внутре" птички ?


Johnmen   (2007-02-06 23:13:00) [4]


> MsGuns ©   (06.02.07 22:45) [9]
>  Даа ?

А что смутило? Ну назвал я рекорд структурой, что в этом стыдного? :)))


Desdechado   (2007-02-06 22:52:00) [5]

MsGuns ©   (06.02.07 22:45) [9]
 T_ISC_DATE = LongInt;
 T_ISC_TIME = DWord;
 T_ISC_TIMESTAMP = record
   timestamp_date: T_ISC_DATE;
   timestamp_time: T_ISC_TIME;
 end;


MsGuns   (2007-02-06 22:45:00) [6]

>Johnmen ©   (06.02.07 13:04) [2]
>Как она хранится в БД ты не знаешь и знать не обязан. ( а хранится она в виде структуры).

Даа ?


Desdechado   (2007-02-06 14:05:00) [7]

Автор, ты невнимателен.
Посмотри еще раз [1] и сравни с
select extract( day FROM CURRENT_TIMESTAMP ) from rdb$database


Johnmen   (2007-02-06 14:02:00) [8]


> MZ   (06.02.07 13:46) [5]
>  Хочется делать это на сервере

Хотение не имеет под собой никакого идеологического обоснования.
Как уже тебе сказали, отображением занимается приложение. А строковый вид и нужен для отображения. Вот нехай приложение и преобразовывает...


Sergey13   (2007-02-06 13:55:00) [9]

> [5] MZ   (06.02.07 13:46)

За что ты так свой сервер не любишь? 8-)


MZ   (2007-02-06 13:46:00) [10]


> Sergey13 ©

Что переносить не хочется? Отображение данных

Не хочется переносить на клиента преобразование Date в string. Хочется делать это на сервере


Sergey13   (2007-02-06 13:37:00) [11]

> [3] MZ   (06.02.07 13:31)
> И как же мне быть ? на клиента это переносить очень не хочется
Что переносить не хочется? Отображение данных?


MZ   (2007-02-06 13:31:00) [12]


> Johnmen ©


> Изменить умолчание ты не можешь.
>

И как же мне быть ? на клиента это переносить очень не хочется


Johnmen   (2007-02-06 13:04:00) [13]


> В базе дата хранится как 01.01.2001,

Как она хранится в БД ты не знаешь и знать не обязан. (а хранится она в виде структуры).
В данном случае происходит неявное преобразование типа DATE к типу VARCHAR. По умолчанию используется формат d-mmm-yyyy. Изменить умолчание ты не можешь.


Desdechado   (2007-02-06 12:03:00) [14]

В базе дата хранится как число. И никаких форматов у нее нет.
А когда ты пытаешься перевести его в строку, вот тогда лучше выполнять это на клиенте. Или, в крайнем случае, использовать Extract для выкусывания составных частей даты и собирания их в нужном порядке и виде в строку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо