Я возьму NUMERIC или DOUBLE PRECISION

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Я возьму NUMERIC или DOUBLE PRECISION

Сообщение студент-практикант » 14 янв 2008, 12:04

Какой из типов данных больше подходит для хранения финансовых (денежных) значений в 3-м диалекте?
1). DOUBLE PRECISION
2). NUMERIC
Товарищи говорят, что брать надо NUMERIC, а то в DOUBLE PRECISION при операциях глюки и бухгалтер в конце месяца удивиться, страшно... Неужели DOUBLE PRECISION такой плохой, я не хочу в это верить! Это ужасно! Может кто выскажет свои наблюдения...

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: Я возьму NUMERIC или DOUBLE PRECISION

Сообщение stix-s » 14 янв 2008, 12:31

студент-практикант писал(а):Какой из типов данных больше подходит для хранения финансовых (денежных) значений в 3-м диалекте?
1). DOUBLE PRECISION
2). NUMERIC
Товарищи говорят, что брать надо NUMERIC, а то в DOUBLE PRECISION при операциях глюки и бухгалтер в конце месяца удивиться, страшно... Неужели DOUBLE PRECISION такой плохой, я не хочу в это верить! Это ужасно! Может кто выскажет свои наблюдения...
какая патетика!
хранить в базе ИМХО следует в NUMERIC, но при расчетах без
плавающей точки не обойтись
главное не впадать в крайности :)
посмотри в поисковиках по ошибкам округления
например:
http://www.delphikingdom.com/asp/viewit ... alogid=374

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 14 янв 2008, 14:37

Что такое ИМХО? а то пытаюсь расшифровать, что-то все неприличное получается, мои мысли мои скакуны...

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 14 янв 2008, 14:58

In My Humble Opinion

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 15 янв 2008, 15:21

ссылка

http://www.ibase.ru/devinfo/migration.htm

в ней тема NUMERIC и DECIMAL
Для создания поля, хранящего большие целые числа, нужно пользоваться объявлением NUMERIC(15, 0) или NUMERIC(18, 0).

кроме всего прочего с числами, хранящимися как int64, есть некоторые проблемы при работе из Delphi/CBuider. Т.е. эти числа не совсем корректно обрабатываются на клиенте. Возможно, что существующие проблемы будут исправлены в новых версиях IBX.

Во как! А чего там за проблемы? кто-нибудь знает?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 янв 2008, 15:47

честно скажу, вопрос дурацкий. ибо migration.htm написан в 2000 году. А сейчас 2008-ой. И тогда имелось в виду Delphi 7. И тогда не было свежих версий IBX для D7.

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 16 янв 2008, 10:45

2000 год :shock: ничего себе! вот это да! да чего ж это такие статьи никто не удаляет, каждый может ошибиться, год старый! только вводят в заблуждение товарищей! :cry: меня например!
и кстати говоря про тупость вопроса, я не один такой товарищ, кот. использовал double precision и не первый год с Firebird-ом, просто другие люди подсказали, что numeric то по-лучше теперь будет, вот и спец (на форуме) мне тоже подсказывает, что numeric то получше будет
короче говоря использовать теперь буду всегда numeric, если лучше, надеюсь не разочаруюсь :?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 янв 2008, 11:03

а чего ж это такие статьи никто не удаляет
а зачем это я статью буду удалять? еще много народу сидит на IB 4 или 5, или на диалекте 1. А статья как раз и называется соответственно:
"Упрощенное руководство по переходу с диалекта 1 (IB 4.x и 5.x) на диалект 3 (IB 6.x/7.x, Firebird)"
и там дата написания стоит прямо под заголовком.
Другое дело, что мне ее корректировать влом...

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 16 янв 2008, 13:23

студент-практикант писал(а): короче говоря использовать теперь буду всегда numeric, если лучше, надеюсь не разочаруюсь :?
Гы-гы-гы. О сколько вам открытий чудных готовит... обучение на форуме вместо чтения доки. Нет, после наступания на очередные грабли добрые дяденьки может и объяснят причину появления бланша, но только после...

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 16 янв 2008, 14:04

не понятно, а что такое бланш? а тут только добрые дяденьки на сайте, а теток нет?
а kdv форум админ, ты сам статьи пишешь по Firebird? ничего себе!

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 янв 2008, 15:15

а kdv форум админ, ты сам статьи пишешь по Firebird? ничего себе!
наоборот. я сделал ibase.ru, ООО "Айбэйз", forum.ibase.ru, и так далее.

бланш - это фингал, синяк, и т.п. от наступания на грабли, например.

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 16 янв 2008, 16:30

ну какой ты молодец! а сколько тебе лет или тут нельзя такие вопросы спрашивать? :?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 16 янв 2008, 17:25

студент-практикант писал(а):ну какой ты молодец! а сколько тебе лет или тут нельзя такие вопросы спрашивать? :?
Главное - интим не предлагать.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 янв 2008, 22:04

а сколько тебе лет или тут нельзя такие вопросы спрашивать?
все на сайте. открываешь www.ibase.ru, там вверху в меню справа есть ссылка kdv.

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 16 янв 2008, 22:27

а на следующей конференции тоже будут подарки? это ты на конференции подарки ведь дарил и лицо такое доброе, сразу видно, что добряк! :wink:

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 17 янв 2008, 07:12

Может этот топ стоит в Пятницу перенести? :)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 янв 2008, 10:14

я вообще злой и жадный. но на следующей подарки будут, обязательно.

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Сообщение Attid » 17 янв 2008, 12:44

kdv писал(а):я вообще злой и жадный. но на следующей подарки будут, обязательно.
главное рандомайзер заранее пиши, а не за один день =)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 янв 2008, 14:43

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

Код: Выделить всё

  for i := 0 to k do
    begin
      for j := 0 to 5999999 do
        m:=Random(k)+30;
      Button1.Caption:=IntToStr(m);
      Application.ProcessMessages;
    end;

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 17 янв 2008, 18:22

kdv писал(а):А вот код, который проверяет повторную выдачу номеров - увы, некогда было вставлять.

Код: Выделить всё

var winners_list: TStringList;
...
repeat
  winner = func();
until winners_list.IndexOf(IntToStr(winner)) < 0;
winners_list.Add(IntToStr(winner))

Ответить