Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Открыть новую тему     Написать ответ в эту тему

X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пиши запросы с помощью CAST - преобразуй целое число в дату

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 18:11 28-10-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
А какой есть еще способ, кроме того что я предложил, используя CAST?

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 19:07 28-10-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
SELECT CAST(field1 AS DATE) FROM table1


----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 19:28 28-10-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
И что работает?

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 19:43 28-10-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://www.firebirdsql.su/doku.php?id=cast
Обрати внимание на табличку, там исходный тип есть NUMERIC. Неужели если в моём примере field1 является целочисленным, то  CAST(field1 AS DATE) не прокатит

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 00:47 29-10-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser
Извени меня, но я Вас не совсем понял выснала строку перевели в дату и к ней добавили число разве это прокатит.
В MSSQL я могу сделать так
 
SELECT CAST( Data_R as datetime) as date from DB
Но при этом получается на не которых записях какие-то безумные даты например
20.10.2055 и самое главное их слишком много я не думаю что ввели с большим количеством ошибок , а кажется мне что это в том что InterBase как то их хитро хранит

Всего записей: 653 | Зарегистр. 03-03-2009 | Отправлено: 09:19 29-10-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
У меня на 1.5.5 не работает.
 
SIgor33
Если есть интовое значение, то это количество дней от какой то даты. Для этого я беру дату отсчета и прибавляю количество дней.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 11:31 29-10-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, с integer не хочет, а с NUMERIC работает
Если Data_R будет поле типа NUMERIC, то такой запрос
 
SELECT CAST(Data_R as datetime) as date from DB
 
нормально отработает
 
Добавлено:

Цитата:
Для этого я беру дату отсчета и прибавляю количество дней.

Начальная дата (дата отсчёта) уже заложена в Firebird

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:52 29-10-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11

Цитата:
а с NUMERIC работает

Какая должна быть точность? NUMERIC(15,2) - не работает.

Цитата:
Начальная дата (дата отсчёта) уже заложена в Firebird

Это еще не значит что она совпадает с датой отсчета в колонке. Может я хочу хранить количество дней начиная с 01.01.2000.
 
С какой даты идет отсчет в ФБ?

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 12:28 29-10-2009
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Какая должна быть точность? NUMERIC(15,2) - не работает.

И не должна, в касте дата/время не может быть преобразована в/из smallint, integer, float, double, numeric, decimal, blob (С) Хелен Борри.

Цитата:
С какой даты идет отсчет в ФБ?

17 ноября 1898 г

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 13:10 29-10-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в касте дата/время

а в касте ДАТА?
 
Добавлено:

Цитата:
Какая должна быть точность? NUMERIC(15,2) - не работает.  

я понял, пока не было данных запрос работал, как только добавил в поле данные - сразу convertion error.
Нужно статью подправить на  
http://www.firebirdsql.su/doku.php?id=cast

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:50 29-10-2009 | Исправлено: X11, 13:58 29-10-2009
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а в касте ДАТА?

DATE, TIME, TIMESTAMP (естественно речь идет о 3 диалекте) не могут участвовать в преобразованиях в/из указанных выше типов.

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 14:05 29-10-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Хорошо я просто не знал о таких заморочках  у interbase. что нужно брать начальную дату

Всего записей: 653 | Зарегистр. 03-03-2009 | Отправлено: 15:04 29-10-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Речь идёт про Firebird. В последние годы эти два проекта уже значительно отличаются.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 15:33 29-10-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Спасибо за  уточнение  

Всего записей: 653 | Зарегистр. 03-03-2009 | Отправлено: 09:22 30-10-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите можно ли в Interbase как в mssql сделать запрос чтобы выбрать слова содержащие английские буквы по маске на пример
LIKE '%[a-z]%'

Всего записей: 653 | Зарегистр. 03-03-2009 | Отправлено: 14:56 07-12-2009
snike555



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 380 | Зарегистр. 02-10-2009 | Отправлено: 16:41 07-12-2009 | Исправлено: snike555, 19:58 07-12-2009
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SIgor33
 
Именно в Interbase нужно ?
В Interbase можно сделать при помощи UDF.
 
А в Firebird 2.5 и выше можно использовать конструкцию:

Код:
[NOT] SIMILAR TO <similar pattern> [ ESCAPE <escape character> ]

где <similar pattern> это регулярное выражение.

----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 17:21 07-12-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
data man
Огромное спасибо. все понял

Всего записей: 653 | Зарегистр. 03-03-2009 | Отправлено: 09:26 08-12-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите Interbase команда sql top подерживается
а то у меня в запросе
select top 10  
fam, ima, dr from user
ругается на неверный синтаксис

Всего записей: 653 | Зарегистр. 03-03-2009 | Отправлено: 16:28 09-12-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru