Hello, Миша!

Миша [НКвД] wrote:

вставить записи в таблицу, содержащую поле типа DATE. Выдает ошибку:

value exceeds the range for valid dates.

В сервере IB/FB жестко зашито несколько "масок" для преобразования содержимого строки в дату. Допустимые варианты:
'dd.mm.yyyy'
'mm/dd/yyyy'
'dd-mmm-yyyy' - здесь mmm это трехбуквенное сокращение английского наименования месяцев - Jan, Feb, Apr и т.д.
'yyyy-mm-dd'

кстати, последний формат очень даже подходит. У меня
select cast('1980-01-01' as date) from rdb$database

работает что в первом, что в третьем диалекте. в третьем и
select cast('1980-01-01' as timestamp) from rdb$database
работает.

>"now"

пора учить третий диалект. cast('now' as date).

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34


Ответить