![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
формат даты в 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 для выкусывания составных частей даты и собирания их в нужном порядке и виде в строку.