Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Неясность конвертации numeric to varchar / 18 сообщений из 18, страница 1 из 1
03.10.2012, 12:35
    #37981641
DmitryBMuK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
имею поле SUMMA типа numeric(19,2)
имею в нём значение -0.01
при выполнении
CONVERT(varchar(11), CONVERT(numeric(11,2), SUMMA))

получаю значение "-.01"
the same in
CONVERT(varchar(11), SUMMA)
...
Рейтинг: 0 / 0
03.10.2012, 14:15
    #37981934
Компостеров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
1) Какая СУБД ( ASE, ASA, IQ )
2) Из какого приложения запускаешь скрипт ?
...
Рейтинг: 0 / 0
03.10.2012, 15:32
    #37982151
DmitryBMuK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
Sybase Central 4.3
запускаю из Interactive SQL 9

Как узнать другие параметры - не знаю ;(
...
Рейтинг: 0 / 0
03.10.2012, 16:05
    #37982229
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
03.10.2012 13:35, DmitryBMuK пишет:

> Автор: DmitryBMuK. имею поле SUMMA типа numeric(19,2)
> имею в нём значение -0.01
> при выполнении
> CONVERT(varchar(11), CONVERT(numeric(11,2), SUMMA))
> получаю значение "-.01"

Ну так в чём проблема-то ;)?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.10.2012, 16:21
    #37982284
DmitryBMuK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
я не понимаю, почему функция convert возвращает -.01 вместо -0.01, хотя на других числах, например -5.16 работает правильно!
...
Рейтинг: 0 / 0
03.10.2012, 16:29
    #37982311
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
03.10.2012 17:21, DmitryBMuK пишет:
> я не понимаю, почему функция convert возвращает -.01 вместо -0.01, хотя
> на других числах, например -5.16 работает правильно!

Он и в данном случае работает правильно ;).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.10.2012, 16:31
    #37982320
DmitryBMuK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
Почему?

а каким образом мне тогда получить требуемый результат? - обычным присваиванием, т.к произойдет явное преобразование типов?
...
Рейтинг: 0 / 0
03.10.2012, 21:42
    #37982693
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
DmitryBMuKПочему?
Ты тролль или неуч? -0.01 = -.01

DmitryBMuKа каким образом мне тогда получить требуемый результат?
Как отформатировать по-другому? На клиенте, сервер под это заточен весьма хреново, да и не его это дело.
...
Рейтинг: 0 / 0
04.10.2012, 08:53
    #37982925
DmitryBMuK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
Видимо неуч ;))
тк мне кажется странным, что при переводе числа -0.01 в строку теряется целая часть...
...
Рейтинг: 0 / 0
04.10.2012, 15:03
    #37983789
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
целая часть не теряется.
"теряется" незначащая цифра.
...
Рейтинг: 0 / 0
06.10.2012, 16:04
    #37986455
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
> Видимо неуч ;))
> тк мне кажется странным, что при переводе числа -0.01 в строку теряется целая
> часть...


Куда ж она теряется -то ?
Никуда не теряется.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.10.2012, 00:24
    #37986774
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
06.10.2012 17:04, MasterZiv пишет:

> Куда ж она теряется -то ?
> Никуда не теряется.

Следующая тема для обсуждения: почему select convert(varchar, 1.10)
выдаёт 1.1 ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.10.2012, 01:30
    #37990944
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
> > Куда ж она теряется -то ?
> > Никуда не теряется.
>
> Следующая тема для обсуждения: почему select convert(varchar, 1.10)
> выдаёт 1.1 ?

а

select 000000000
go

?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
01.11.2012, 22:01
    #38022498
AlexandrP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
Решение пробелемы:

Select str(-0.01,5,2)

-0.01 оно то ровняется -.01
для ИТ это тоже самое. но вот если числа конвертируются в строки то лучше когда -.01 будет выглядеть как -0.01
так лучше удобочитаемость.
...
Рейтинг: 0 / 0
02.11.2012, 12:09
    #38023113
scroodj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
DmitryBMuKимею поле SUMMA типа numeric(19,2)
имею в нём значение -0.01
при выполнении
CONVERT(varchar(11), CONVERT(numeric(11,2), SUMMA))

получаю значение "-.01"
the same in
CONVERT(varchar(11), SUMMA)

Всетаки хотелось бы глянуть на версию:

select @@version

В моем случае выводится правильно значение "-0.01"

[quot Dim2000]DmitryBMuKПочему?
Ты тролль или неуч? -0.01 = -.01

Это утверждение верно, если сранивать как математические величины, но как строки - равенства здесь нет
...
Рейтинг: 0 / 0
15.11.2012, 22:28
    #38040576
sasha27
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
DmitryBMuK,

Думаю код не большой...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
begin
   declare  @summa   numeric(19,2);
   declare  @res     varchar(20);
   
   set   @summa = -0.01;

   if (@summa > -1 and @summa < 1) then
      set @res = cast(@summa as varchar(20));
      set @res = REPLACE(@res, '.', '0.')
   else
      set @res = cast(@summa as varchar(20));
   end if;

   select @res;
end
...
Рейтинг: 0 / 0
21.12.2012, 10:10
    #38087809
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
В ASA для этой цели подошла бы функция STR
...
Рейтинг: 0 / 0
21.12.2012, 11:40
    #38087918
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неясность конвертации numeric to varchar
жесть
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Неясность конвертации numeric to varchar / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]