Страница 1 из 1
Еще раз по поводу дат
Добавлено: 17 апр 2006, 12:35
Влад_vlad
В вопросе "Работа с датами в FB" - смысл ответа - "получи дату и работай в программе". Это все прекрасно - но если есть вычисляемое поле типа:
Код: Выделить всё
ALLBORN COMPUTED BY (DATEBORN||' '||MESTOBORN)
то при получении из программы имеем 17-Apr-2006 + текст. Есть ли возможность конвертировать дату в 17.04.2006 не в программе?
Добавлено: 17 апр 2006, 13:15
kdv
только посредством udf. формат преобразования даты из двоичного вида в текст на сервере жестко задан, менять его нельзя, и кроме того, он еще зависит от диалекта (1 или 3).
В третьем диалекте будет yyyy-mm-dd.
Добавлено: 17 апр 2006, 13:32
Merlin
На экстрактах можно извратиться. Только на фига. Серверу - серверово, клиенту - клиентово, и будет всё и шустренько и удобненько.
Добавлено: 17 апр 2006, 16:28
Влад_vlad
kdv - спасибо. Я так и думал - но все же надеялся...
Merlin - "клиенту - клиентово" - я не хочу создавать на клиенте вычисляемое поле только из-за даты. Это самый простой вариант - но не элегантно. Хотел бы, что бы это делал сервер. И не хочу на клиенте интерпретировать строку. "На экстрактах можно извратиться" - не понял - как? Все таки можно?
Добавлено: 18 апр 2006, 23:39
Klyk
Влад_vlad писал(а):"На экстрактах можно извратиться" - не понял - как? Все таки можно?
наверно что-то вроде
select
extract(day from table1.date_field) ||'.'||
extract(month from table1.date_field) ||'.'||
extract(year from table1.date_field)||' '||
table1.Text_Field
from table1
хотя незнаю как оно на 1 диалекте FB будет работать.
Добавлено: 19 апр 2006, 00:15
Merlin
Да будет, куда оно денется... и три обращения к встроенной функции на сервере плюс три неявных преобразования типа плюс три конкатенации - это, конешно, куда как элегантнее одного обращения к функции форматирования даты на клиенте.
Добавлено: 19 апр 2006, 20:05
Влад_vlad
Merlin писал(а): ...это, конешно, куда как элегантнее ...
В таком варианте - согласен. Но это совсем не то, что я спрашивал - про Select речь и не шла, вопрос - как получить в вычисляемом поле.
Все равно - спасибо.
Добавлено: 19 апр 2006, 20:52
kdv
как получить в вычисляемом поле.
udf
Добавлено: 20 апр 2006, 08:28
Влад_vlad
Спасибо.