Десятичная точка в SQL Server-e
От: Nikolai Serdiuk Болгария  
Дата: 29.07.03 13:21
Оценка:
Проблема следующая:

1. Есть некоторая база данных и в ней некоторая таблица.
2. Одна из колон в таблицы содержит данные типа: float
3. При попытке вставить стринг вида: 10,34 — получаю следующее сообщение:
Error converting data type varchar to float.
4. Пробы сменить database collation не увенчались успехом.

Как получить информацию о текуще установленном в базе данных десятичном разделителе?
Сказано по-другому: как получить информацию — в каком database collation какие десятичные разделители используются? (Я могу узнать о текущем database collation с помощью ADO OpenSchema)

Идеи? [Предварительно благодарен, Николай]
Re: Десятичная точка в SQL Server-e
От: Аноним  
Дата: 29.07.03 13:25
Оценка:
Здравствуйте, Nikolai Serdiuk, Вы писали:

NS>Проблема следующая:


NS>Как получить информацию о текуще установленном в базе данных десятичном разделителе?


NS>Идеи? [Предварительно благодарен, Николай]


по всем канонам SQL дробная часть отделяется от целой всегда точкой.
запятая это разделитель при перечислении
Re: Десятичная точка в SQL Server-e
От: seregaa Ниоткуда http://blogtani.ru
Дата: 29.07.03 13:36
Оценка:
Здравствуйте, Nikolai Serdiuk, Вы писали:

NS>Как получить информацию о текуще установленном в базе данных десятичном разделителе?



NS>Сказано по-другому: как получить информацию — в каком database collation какие десятичные разделители используются? (Я могу узнать о текущем database collation с помощью ADO OpenSchema)


database collation на вид десятичного разделителя никак не влияет. SQL всегда (независимо от database collation и language identifier (@@LANGID) текущего соединения) принимает в качестве разделителя точку. Можно даже эксперимент провести


set language 'русский'
GO
select cast('1.1' as float)     --Так работает
select cast('1,1' as float)    --А так вылетает с ошибкой "Error converting data type varchar to float."
GO

set language 'us_english'
GO
select cast('1.1' as float)     --Опять работает
select cast('1,1' as float)    --Тоже вылетает с ошибкой "Error converting data type varchar to float."
GO
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[2]: Десятичная точка в SQL Server-e
От: Nikolai Serdiuk Болгария  
Дата: 29.07.03 13:39
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Nikolai Serdiuk, Вы писали:


NS>>Проблема следующая:


NS>>Как получить информацию о текуще установленном в базе данных десятичном разделителе?


NS>>Идеи? [Предварительно благодарен, Николай]


А>по всем канонам SQL дробная часть отделяется от целой всегда точкой.

А>запятая это разделитель при перечислении

Спасибо...
Re: Десятичная точка в SQL Server-e
От: dimzon Россия http://dimzon541.narod.ru
Дата: 29.07.03 14:10
Оценка:
Здравствуйте, Nikolai Serdiuk, Вы писали:

NS>Проблема следующая:


NS>1. Есть некоторая база данных и в ней некоторая таблица.

NS>2. Одна из колон в таблицы содержит данные типа: float
NS>3. При попытке вставить стринг вида: 10,34 — получаю следующее сообщение:
NS>Error converting data type varchar to float.
NS>4. Пробы сменить database collation не увенчались успехом.

NS>Как получить информацию о текуще установленном в базе данных десятичном разделителе?

NS>Сказано по-другому: как получить информацию — в каком database collation какие десятичные разделители используются? (Я могу узнать о текущем database collation с помощью ADO OpenSchema)

NS>Идеи? [Предварительно благодарен, Николай]


Уже который раз повторяемся — используйте параметры
За сегодня только 3-й раз пишу
... << RSDN@Home 1.1 beta 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.