Конференция "Базы" » Вопрос про select числа с разделителем дробной части. [D7, MS Access]
 
  • vegarulez © (26.08.09 15:53) [0]
    доброго времени суток всем мастерам!

    Подскажите как решить вот такую проблемку.
    делаю

       
    Sql.Text:='Select `id`,`с_sum` from `t1` where 1';
    open;


    и проблема состоит в следующем, если число не целое, а есть дробная часть, то в резуьтате селекта она будет. Если же число целое, без дробной части то в результате будет число без дробной части.
    Вопрос - как мне получить результат чтобы в нём при любом числе через запятую была дробная часть, 2 знака. т.е. при числе 123 допустим чтобы селект выдал 123,00
  • Медвежонок Пятачок © (26.08.09 16:13) [1]
    в числах нет запятых.
    запятые только в строках.
    displayformat
  • vegarulez © (26.08.09 16:49) [2]
    пасип за "развёрнутый" ответ.
    подтолкнул...

    Select `id`, format(`c_sum`,"0.00") from `t1` where 1

  • Inovet © (26.08.09 17:25) [3]
    > [2] vegarulez ©   (26.08.09 16:49)
    > пасип за "развёрнутый" ответ.
    > подтолкнул...
    >
    > Select `id`, format(`c_sum`,"0.00") from `t1` where 1

    Да не там, а в своствах поля от TField.
  • Сергей М. © (26.08.09 21:36) [4]

    > vegarulez ©   (26.08.09 16:49) [2]


    И где же тут displayformat ?
  • vegarulez (26.08.09 22:30) [5]

    > Inovet ©   (26.08.09 17:25) [3]

    хм... чо=то вообще не пойму о чём ты? В базе чтоле в свойствах? Априори то - что в базе ничего не подлежит изменению.


    > Сергей М. ©   (26.08.09 21:36) [4]

    я понял это как - "Смотри format"... собственно его и посмотрел и сделал с ним. Или я не правильно всё понял?
  • Inovet © (26.08.09 22:55) [6]
    > [5] vegarulez   (26.08.09 22:30)
    >
    > > Inovet ©   (26.08.09 17:25) [3]
    >
    > хм... чо=то вообще не пойму о чём ты? В базе чтоле в свойствах?
    > Априори то - что в базе ничего не подлежит изменению.
    >
    > > Сергей М. ©   (26.08.09 21:36) [4]
    >
    > я понял это как - "Смотри format"... собственно его и посмотрел
    > и сделал с ним. Или я не правильно всё понял?

    Свойство DisplayFormat у потмков TField, если в инспекторе объектов, то двойной клик на датасете сделай - увидишь список полей, ну и далее свойства c_sum (его видимо надо).
  • MsGuns © (27.08.09 15:19) [7]
    vegarulez ©   (26.08.09 16:49) [2]

    Если мне память не изменяет
    Select `id`, cast(c_sum as Currency) as c_sum from `t1` where 1
  • Vitalts (27.08.09 15:33) [8]
    Select `id`,`to_number(с_sum,`999999999.99`)` from `t1` where 1
  • Inovet © (27.08.09 16:08) [9]
    > [8] Vitalts   (27.08.09 15:33)
    > Select `id`,`to_number(с_sum,`999999999.99`)` from `t1`
    > where 1

    Теперь на клиенте умнож это "число" на 2.
  • Vitalts (27.08.09 17:16) [10]

    > Теперь на клиенте умнож это "число" на 2.

    и что? Чем не число? Правда, в случае целочисленных значений, они таковыми и остаються.

    Select id, round(с_sum,2) from t1 where 1

    это приводит и целочисленные значения к виду до 2-х знаков в дробной части
  • Медвежонок Пятачок © (27.08.09 17:31) [11]
    разговор о знаках в дробной части числа не имеет смысла без уточнения типа данных поля в таблице.
    для большинства вещественных типов это понятие вообще лишено смысла.

    то же самое и на клиенте. Для ftFloat например вообще нет такого понятия как число знаков после зяпятой.
  • Vitalts (27.08.09 17:37) [12]

    > <Цитата>
    >
    >
    > Медвежонок Пятачок ©   (27.08.09 17:31) [11]

    Вопрос ставился иначе. Человеку нужно получить нисмотря ни на что число с точностью до 2-х знаков. И пох на тип данных поля, пусть там даже int, нужно и баста
  • Медвежонок Пятачок © (27.08.09 17:44) [13]
    Я бы сказал, что ему нужна строка, а не число.
  • Inovet © (27.08.09 18:41) [14]
    > [10] Vitalts   (27.08.09 17:16)
    >
    > > Теперь на клиенте умнож это "число" на 2.
    >
    > и что? Чем не число? Правда, в случае целочисленных значений,
    > они таковыми и остаються.

    А я незаметил to_number, это видимо приведение к типу с фиксированной точкой (нафиг там тогда такая маска)? Но автор тут похоже другого хотел.
 
Конференция "Базы" » Вопрос про select числа с разделителем дробной части. [D7, MS Access]
Есть новые Нет новых   [134473   +32][b:0][p:0.001]