Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ? / 11 сообщений из 11, страница 1 из 1
16.01.2004, 14:15
    #32378536
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Sybase SQLAnywhere 5.5

Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?

например число 50 хранится как 50.000

если в селекте выбрать один столбец с числом то выводится 50, а если преобразовать этот столбец к строке то выводится 50.000 - в склейке тоже самое ...
...
Рейтинг: 0 / 0
17.01.2004, 14:55
    #32379291
Aleksey Kh.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Код: plaintext
1.
2.
3.
create variable v_test numeric( 12 , 3 );
set v_test= 50 . 1 ;
select cast(v_test as double);


p.s. Попробуйте:
Код: plaintext
select cast(v_test as float)
...
Рейтинг: 0 / 0
22.01.2004, 13:04
    #32384524
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
спасибо, всё работает...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
18.02.2005, 17:14
    #32923928
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Хм-м-м... Я столкнулся с такой же проблемой (по крайней мере звучит так же) на АСА9. Есть набор цифирей. Дробных. Нужно склеять в строку. Как бы сделать так, чтоб в конце не было нулей??
Сейчас делаю так:
set lv_ret = lv_ret + cast(ln_val as varchar(20)) + ':';
и получается:
446.000000:19.100000:19.200000:
а хочется:
446:19.1:19.2:

Кто может подскажет как это сделать?? Примеры, приведенные выше, по-моему как-то слабо относятся к проблеме...
...
Рейтинг: 0 / 0
18.02.2005, 17:31
    #32923977
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
BEGIN
  DECLARE @N1 numeric( 12 ,  3 );
  DECLARE @N2 numeric( 12 ,  3 );
  DECLARE @N3 numeric( 12 ,  3 );
  SET @N1 =  1 . 1 ;
  SET @N2 =  2 . 12 ;
  SET @N3 =  3 . 123 ;

  SELECT CONVERT(double, @N1) || ', ' || CONVERT(double, @N2) || ', ' ||
    CONVERT(double, @N3) AS TestString;
END;
TestString'1.1, 2.12, 3.123'
...
Рейтинг: 0 / 0
18.02.2005, 21:06
    #32924366
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Вообще говоря к float/double нужно преобразовывать осторожно. Потому как может быть потеря точности. Если это только для целей показа значения, то наверное можно.
...
Рейтинг: 0 / 0
19.02.2005, 17:05
    #32924746
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Выполняется такое:
declare lv_ret varchar(500);
declare ln_val numeric;
...
select lv_ret+convert(double,ln_val)+':'
into lv_ret
from dummy;
...
на выполнении select возникает ошибка: 53018 - Cannot convert %1 to a %2...
Что бы это могло значить-то???
...
Рейтинг: 0 / 0
19.02.2005, 17:07
    #32924748
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Кстати! А как посомтреть параметры exception? Что такое %1 и %2??
...
Рейтинг: 0 / 0
19.02.2005, 17:32
    #32924760
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
хммммм.... А вот так:
...
select convert(double,ln_val) into lv_ret
from dummy;
...
почему-то exception не возникает... Что ж не так-то???
...
Рейтинг: 0 / 0
19.02.2005, 17:56
    #32924770
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
Заработало так:
...
select lv_ret||convert(double,ln_val)||':'
into lv_ret
from dummy;
...

ЧТО ЗА БРЕД??? :( Может оператор || имеет какие-то особенности??? По сравнению с +??
...
Рейтинг: 0 / 0
19.02.2005, 19:12
    #32924801
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ?
BOLexpression || expression String concatenation (two vertical bars). If either string is NULL, it is treated as the empty string for concatenation.

expression + expression Alternative string concatenation. When using the + concatenation operator, you must ensure the operands are explicitly set to character data types rather than relying on implicit data conversion

...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в запросе склеить number(12,3) и varchar(25) без добавления нулей в конце числа ? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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