Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с записью периода дат, Результат перевернутый: год.месяц.число 
:(
    Опции темы
kat809
Дата 30.1.2010, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.4.2008
Где: г.Белгород

Репутация: нет
Всего: нет



Здравствуйте всем)
Вот возникла проблемка, наверное простая, но что-то не могу придумать, как ее решить!
Есть таблица с полями Date1, Date2 и Period. Поле Period является вычисляемым (Date1 || '-' || Date2). 
Проблема заключается в том, что даты получаются "перевернутыми" в итоге: 2010-01-01-2010-01-31, а нужно 01.01.2010-31.01.2010. 
Буду рада любой помощи, спасибо заранее)
PM MAIL   Вверх
Gluttton
Дата 30.1.2010, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Метод грубой силы smile ...
Код

CREATE TABLE T
(
    DATE1   DATE,
    DATE2   DATE,
    PERIOD  COMPUTED BY (
                EXTRACT (DAY FROM DATE1)||'.'||
                EXTRACT (MONTH FROM DATE1)||'.'||
                EXTRACT (YEAR FROM DATE1)||'-'||
                EXTRACT (DAY FROM DATE2)||'.'||
                EXTRACT (MONTH FROM DATE2)||'.'||
                EXTRACT (YEAR FROM DATE2)
            )
);



--------------------
Слава Україні!
PM MAIL   Вверх
Akella
Дата 30.1.2010, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата(kat809 @  30.1.2010,  10:58 Найти цитируемый пост)
даты получаются "перевернутыми"

Так на клиенте используй DisplayFormat
PM MAIL   Вверх
former
Дата 30.1.2010, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Цитата(Akella @  30.1.2010,  16:59 Найти цитируемый пост)

Так на клиенте используй DisplayFormat 

Akella, в данном случае это не поможет, ибо конкатенация.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
kat809
  Дата 31.1.2010, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.4.2008
Где: г.Белгород

Репутация: нет
Всего: нет



Цитата(Gluttton @ 30.1.2010,  11:47)
Метод грубой силы smile ...

Метод грубой силы помог!Огромное спасибо!!!
PM MAIL   Вверх
Deniz
Дата 1.2.2010, 07:05 (ссылка) |   (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



kat809, сильно сомневаюсь, что поле "Period" нужно хранить в БД.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 1.2.2010, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Deniz, так оно и не хранится, оно вычисляемое
PM MAIL   Вверх
Frees
Дата 1.2.2010, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



а что будет быстрее(лучше надежнее, кашернее) вычислимое поле в таблице, или VIEW с таким же вычислимом полем?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Akella
Дата 1.2.2010, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Наверное вычисляемое. Тем более, что в новых версиях птички вычисляемые поля так же легко изменяются, как и обычные через alter
PM MAIL   Вверх
Deniz
Дата 2.2.2010, 06:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Akella @  1.2.2010,  19:12 Найти цитируемый пост)
Deniz, так оно и не хранится, оно вычисляемое
Имелось ввиду не данные, которые в этом поле, а само поле в таблице имеет сомнительную необходимость.
имхо, лучше на клиенте это преобразовывать, да и вообще, необходимость такого преобразования ...
PS: только давайте не будем разводить дискуссию на эту тему.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.