powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Дата в строке.
19 сообщений из 19, страница 1 из 1
Дата в строке.
    #34683226
Aries
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой код, передаваемый с клиента. (Пока сделал его напрямую в тестовой процедуре,
что бы исправить ошибку)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE PROCEDURE TEST ()
returns (
    lndata char( 32 )
)
as
declare variable aaa varchar( 500 );
begin
  aaa='SELECT aa.nindex FROM tdata aa 
         WHERE (aa.dcreate BETWEEN ''2007-07-01 00:00:00'' AND ''2007-07-31 23:59:59'') AND 
                   (aa.ntype BETWEEN 1 AND 11) GROUP BY aa.nindex';
for EXECUTE STATEMENT :aaa INTO :lndata
  do begin
    (...)
  end
end

Выдает такую ошибку
Код: plaintext
1.
2.
3.
4.
Error Message:
----------------------------------------
Overflow occurred during data type conversion.
conversion error from string "2007-07-31 23:59:59".

Колонка dcreate имеет тип TimeStamp
Правда до этого она имела тип DATE но потом менялась на TimeStamp
После изменений делался
Код: plaintext
UPDATE tData SET dcreate=dcreate

Пробовал в строку подставлять разные типы и:
DD-MM-YYYY hh:mm:ss
YYYY-MM-DD hh:mm:ss
Ошибка одна и та же.

А вот если подставить без времени, то все работает, т.е
Код: plaintext
BETWEEN ''2007- 07 - 01 '' AND ''2007- 07 - 31 ''

-------------------------------
Истина где-то там...
...
Рейтинг: 0 / 0
Дата в строке.
    #34683279
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriesПробовал в строку подставлять разные типы и:
DD-MM-YYYY hh:mm:ss
YYYY-MM-DD hh:mm:ss
Ошибка одна и та же.
MM/DD/YYYY не пробовал?
...
Рейтинг: 0 / 0
Дата в строке.
    #34683306
Aries
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таже байда
Код: plaintext
1.
2.
3.
4.
Error Message:
----------------------------------------
Overflow occurred during data type conversion.
conversion error from string "07/31/2007 23:59:59".
А вот если убрать время, то и в таком формате проскакивает.

----------------------------------
Истина где-то там...
...
Рейтинг: 0 / 0
Дата в строке.
    #34683338
adima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriesТаже байда
Код: plaintext
1.
2.
3.
4.
Error Message:
----------------------------------------
Overflow occurred during data type conversion.
conversion error from string "07/31/2007 23:59:59".
А вот если убрать время, то и в таком формате проскакивает.

----------------------------------
Истина где-то там...

у поля dcreate в запросе какой тип данных?
...
Рейтинг: 0 / 0
Дата в строке.
    #34683342
adima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adima AriesТаже байда
Код: plaintext
1.
2.
3.
4.
Error Message:
----------------------------------------
Overflow occurred during data type conversion.
conversion error from string "07/31/2007 23:59:59".
А вот если убрать время, то и в таком формате проскакивает.

----------------------------------
Истина где-то там...

у поля dcreate в запросе какой тип данных?

Блин, прогнал, timestamp
...
Рейтинг: 0 / 0
Дата в строке.
    #34683352
Aries
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В запросе? Это как?

В таблице тип поля TimeStamp

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE DOMAIN D_DATETIME AS
TIMESTAMP
----------------------
CREATE TABLE TDATA (
    ...
    DCREATE    D_DATETIME,
    ...
);

Истина где-то там...
...
Рейтинг: 0 / 0
Дата в строке.
    #34683356
adima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adima adima AriesТаже байда
Код: plaintext
1.
2.
3.
4.
Error Message:
----------------------------------------
Overflow occurred during data type conversion.
conversion error from string "07/31/2007 23:59:59".
А вот если убрать время, то и в таком формате проскакивает.

----------------------------------
Истина где-то там...

у поля dcreate в запросе какой тип данных?

Блин, прогнал, timestamp

а каким образом менялся тип поля? через alter type или напрямую в системной таблице?
...
Рейтинг: 0 / 0
Дата в строке.
    #34683358
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aries A> Колонка dcreate имеет тип TimeStamp
A> Правда до этого она имела тип DATE но потом менялась на
A> TimeStamp После изменений делался
A> UPDATE tData SET dcreate=dcreateа как менялась ? в эксперте ? там совсем недавно нашлась бага, связанная с неправильным размером поля при таком изменении
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Дата в строке.
    #34683381
Aries
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Менял в IBExpert
Но я делал после смены типа обновление
Код: plaintext
UPDATE tdata set dcreate=dcreate
После нормально данные возвращаются.
Этого не достаточно?

-------------------------------------
Истина где-то там...
...
Рейтинг: 0 / 0
Дата в строке.
    #34683384
Aries
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To Карабас Барабас
Как правильно сделать изменения?

Истина где-то там...
...
Рейтинг: 0 / 0
Дата в строке.
    #34683418
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriesКак правильно сделать изменения?угадай с трех раз, где и что посмотреть-почитать :)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Дата в строке.
    #34683441
Aries
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не угадал :(

-------------------------
Истина где-то там...
...
Рейтинг: 0 / 0
Дата в строке.
    #34685360
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас AriesКак правильно сделать изменения?угадай с трех раз, где и что посмотреть-почитать :)
Posted via ActualForum NNTP Server 1.4Мона я?
Сделать временный столбец с типом как у оригинала, скопировать туды данные, грохнуть оригинал, создать оригинал с новым типом, закатать данные обратно, пользуясь cast-ом, грохнуть временный столбец.
Но это по простецкому, по рабочекрестьянски, зато не надо думать, по зависимостям сразу видно где поправить входные-выходные параметры и заодно перекомпилировать зависимые ХП, тригеры и прочие безобразия.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Дата в строке.
    #39604977
Fastered
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
используй cast(... AS ...) и будет тебе счастье
...
Рейтинг: 0 / 0
Дата в строке.
    #39605027
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fastered,

Можно ещё так
Код: sql
1.
select cast(date '25.02.2017' as date)+cast(time '23:59:00' as time) from rdb$database
...
Рейтинг: 0 / 0
Дата в строке.
    #39605034
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некрофилы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Дата в строке.
    #39605068
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AltHasp
Код: sql
1.
cast(date '25.02.2017' as date)

Это тоже самое, что cast(масло as масло)
...
Рейтинг: 0 / 0
Дата в строке.
    #39605070
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladAltHasp
Код: sql
1.
cast(date '25.02.2017' as date)

Это тоже самое, что cast(масло as масло)

Машу каслом не испортишь.
...
Рейтинг: 0 / 0
Дата в строке.
    #39605071
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаhvladпропущено...
Это тоже самое, что cast(масло as масло)

Машу каслом не испортишь.Не могу спорить с экспертом по Машам, хоть и плюшевым
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Дата в строке.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]