Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Decimal separator как поменять
|
|||
|---|---|---|---|
|
#18+
ms-sql 2000. когда заливаю данные в таблицу из текстового файла командой bulk insert происходит ошибка преобразования varchar to numeric, потому как в файле в качесте разделителя для чисел используется запятая, а сервер использует точку. можно ли как-то задать разделить, чтобы он смог корректно конвертнуть строку в число. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 07:34 |
|
||
|
Decimal separator как поменять
|
|||
|---|---|---|---|
|
#18+
update myTable set dd=replace(MyField,',','.') Если конечно кол-во запятых в поле 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 09:00 |
|
||
|
Decimal separator как поменять
|
|||
|---|---|---|---|
|
#18+
Прошу прощения update myTable set MyField=replace(MyField,',','.') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 09:03 |
|
||
|
Decimal separator как поменять
|
|||
|---|---|---|---|
|
#18+
to Ольга: А разве MSSQL не хранит вещественные числа в формате xxx.yyy ? ИМХО здесь нужно либо менять региональные настройки на сервере либо генерировать входной файл основываясь на существующих настройках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 17:01 |
|
||
|
Decimal separator как поменять
|
|||
|---|---|---|---|
|
#18+
To Strannik Возможно, я поторопилась, и надо было сказать Вариант 1. Открыть файл подходящим редактором текстовых файлов, и заменить запятые на точки Сделать BULK INSERT ВАриант 2. Сделать BULK INSERT в таблицу со столбцами varchar (nvarchar), а только потом update myTable set MyField=replace(MyField,',','.') А затем вкачать в нужное поле. ПРичем второй вариант мне нравится больше. А насчет региональных настороек могу сказать- на MSSQL не действует (И не должно вроде) >А разве MSSQL не хранит вещественные числа в формате xxx.yyy Я надеюсь, что это не тест на базовые знания? С уважением, Ольга To Roman Я надеюсь, у Вас все получилось. Всего доброго ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2002, 08:38 |
|
||
|
Decimal separator как поменять
|
|||
|---|---|---|---|
|
#18+
to Ольга: Прошу прощения, если если я задел Вас своим ответом, просто по долгу работы пришлось долгое время использоваться Bulk import и сталкиваться с проблемой региональных настроек, поэтому увидев данную тему, не мог не ответить. >Вариант 1. >Открыть файл подходящим редактором текстовых файлов, и заменить запятые на точки >Сделать BULK INSERT Не очень удачный вариант, если файл большой(>10000 строк) и кроме того содержит текстовые поля, в которых могут появляться запятые. Вариант для одноразового использования. >ВАриант 2. >Сделать BULK INSERT в таблицу со столбцами varchar (nvarchar), а только потом >update myTable set MyField=replace(MyField,',','.') >А затем вкачать в нужное поле. >ПРичем второй вариант мне нравится больше Опять же задача решена в частном случае, а в случае произвольного разделителя прийдется поизвращаться. Мне больше нравится такой вариант(обобщенный): CREATE PROCEDURE sp_BULKIMPORT @Separator char(1) AS CREATE TABLE #tbl_Test (id int, value varchar(255)) -- наше проблемное поле bulk insert #tbl_Test from 'd:\info.txt' UPDATE #tbl_Test SET value = Replace(value,@Separator,'.') insert into RealTable SELECT * FROM #tbl_Test Drop #tbl_Test ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2002, 10:39 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32030421&tid=1822691]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 472ms |

| 0 / 0 |
