Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 изменение поля float в varchar или nvarchar  [new]
grdf
Member

Откуда:
Сообщений: 40
День добрый!

... в поле float находится значение: 72607687574

делаю:
ALTER TABLE таб ALTER COLUMN [F2] varchar(50)

получаю значение в поле: 7.26077e+010


а в других поля все нормально... если 2.99 то и перенимает 2.99...
17 янв 12, 14:08    [11917633]     Ответить | Цитировать Сообщить модератору
 Re: изменение поля float в varchar или nvarchar  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
grdf,

нехороший это тип - float.
Если его сначала в подходящий DEC() преобразовать,
а уже потом - в VARCHAR()?
17 янв 12, 14:10    [11917655]     Ответить | Цитировать Сообщить модератору
 Re: изменение поля float в varchar или nvarchar  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
iap
grdf,

нехороший это тип - float.
Если его сначала в подходящий DEC() преобразовать,
а уже потом - в VARCHAR()?
Собственно говоря, может, DEC() так и оставить?
Зачем хранить числа в текстовом поле?
17 янв 12, 14:11    [11917668]     Ответить | Цитировать Сообщить модератору
 Re: изменение поля float в varchar или nvarchar  [new]
Glory
Member

Откуда:
Сообщений: 104751
grdf
получаю значение в поле: 7.26077e+010


а в других поля все нормально... если 2.99 то и перенимает 2.99...

А что такого ненормального в 7.26077e+010 ?
17 янв 12, 14:13    [11917686]     Ответить | Цитировать Сообщить модератору
 Re: изменение поля float в varchar или nvarchar  [new]
grdf
Member

Откуда:
Сообщений: 40
файлов поступает ОЧЕНЬ много в формате exel ... загоняю(OPENROWSET) в таблицу(таблицу делаю динамически, т.к. у файлов разная структура)... в данном случае в поле с номером(без точек и запятых) получаю float... дальше переименовываю в

ALTER TABLE helptabelle ALTER COLUMN [F2] NUMERIC NOT NULL

а потом пробую в ...
ALTER TABLE helptabelle ALTER COLUMN [F2] nvarchar(255)


и получаю:
The object 'DF__helptabelle__F2__3D3402A0' is dependent on column 'F2'.
ALTER TABLE ALTER COLUMN F2 failed because one or more objects access this column.
17 янв 12, 14:29    [11917845]     Ответить | Цитировать Сообщить модератору
 Re: изменение поля float в varchar или nvarchar  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Glory
grdf
получаю значение в поле: 7.26077e+010


а в других поля все нормально... если 2.99 то и перенимает 2.99...

А что такого ненормального в 7.26077e+010 ?
Да все нормально, просто видимо народ хочет видеть это число в другом его "текстовом представлении"
17 янв 12, 14:30    [11917854]     Ответить | Цитировать Сообщить модератору
 Re: изменение поля float в varchar или nvarchar  [new]
f070214
Member

Откуда:
Сообщений: 35
А для чего так сложно, менять типы данных в столбцах таблицы? Возможно, было бы проще при вытягивании данных с OPENROWSET сразу приводить их к необходимому типу с помощью CAST или CONVERT?
17 янв 12, 14:41    [11917984]     Ответить | Цитировать Сообщить модератору
 Re: изменение поля float в varchar или nvarchar  [new]
grdf
Member

Откуда:
Сообщений: 40
ВСЕМ СПАСИБО!

Если сначала из строки -> FLOAT в DECIMAL а потом в VARCHAR... получается!
17 янв 12, 14:43    [11918004]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить