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

Откуда: СПб
Сообщений: 270
Все добрый день!

Я собираю вычисляемое поле из трех существующих поле. Два из которых типа int, а третье real, так вот тип real, согласно моим настройкам отображается с запятой. Но при преобразовании в вычисляемом поле, данные из поля с типом real представляются с точкой вместо запятой.

подскажите есть ли возможность сохранить запятую вместо точки????????

P.S. ms sql 2008 R2
2 авг 13, 16:35    [14655509]     Ответить | Цитировать Сообщить модератору
 Re: из real в вычисляемое поле с запятой  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Тип вычисляемого поля надо угадать? И его формулу? И приложение, в котором вы наблюдаете точку вместо запятой, тоже?
2 авг 13, 16:51    [14655638]     Ответить | Цитировать Сообщить модератору
 Re: из real в вычисляемое поле с запятой  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Веткин Сергей
подскажите есть ли возможность сохранить запятую вместо точки????????

Десятичный разделитель не хранится в типе real.
2 авг 13, 16:55    [14655672]     Ответить | Цитировать Сообщить модератору
 Re: из real в вычисляемое поле с запятой  [new]
vso
Member

Откуда: СПб
Сообщений: 270
Гавриленко Сергей Алексеевич,

(((([MARK]+' ')+CONVERT([varchar](3),[THREADS],(0)))+'x')+case when [PAIR] IS NULL then CONVERT([varchar](5),[THICKNESS],(0)) else (CONVERT([varchar](3),[PAIR],(0))+'x')+CONVERT([varchar](5),[THICKNESS],(0)) end) PERSISTED NOT NULL


а тип не впрямую не указан, приложение MSSMS
2 авг 13, 16:55    [14655676]     Ответить | Цитировать Сообщить модератору
 Re: из real в вычисляемое поле с запятой  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
Веткин Сергей,
поменять точку на запятую строковой функцией ?
2 авг 13, 17:21    [14655847]     Ответить | Цитировать Сообщить модератору
 Re: из real в вычисляемое поле с запятой  [new]
replace
Guest
Веткин Сергей,

select replace('1.2', '.', ',')
2 авг 13, 17:24    [14655860]     Ответить | Цитировать Сообщить модератору
 Re: из real в вычисляемое поле с запятой  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32167
Веткин Сергей
Гавриленко Сергей Алексеевич,

(((([MARK]+' ')+CONVERT([varchar](3),[THREADS],(0)))+'x')+case when [PAIR] IS NULL then CONVERT([varchar](5),[THICKNESS],(0)) else (CONVERT([varchar](3),[PAIR],(0))+'x')+CONVERT([varchar](5),[THICKNESS],(0)) end) PERSISTED NOT NULL



а тип не впрямую не указан, приложение MSSMS
Тип вы указали впрямую, а именно строка (varchar)

Соответственно:
Веткин Сергей
так вот тип real, согласно моим настройкам отображается с запятой
Так как возвращается не тип real, а строка, то настройки игнорируются и формат получается в соответствии с правилами конвертирования чисел в строку в сиквеле, то есть всегда с точкой.

Так что либо преобразуйте в вычисляемом поле в real (но у вас это невозможно, потому что получается сложная строка, а не число), либо меняйте внутри используя replace
2 авг 13, 17:55    [14656063]     Ответить | Цитировать Сообщить модератору
 Re: из real в вычисляемое поле с запятой  [new]
vso
Member

Откуда: СПб
Сообщений: 270
Всем спасибо, пришлось включить в преобразование еще и replace (:
6 авг 13, 09:05    [14667377]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить