Сервер SQL: могу ли я вставить $ в поле денег - PullRequest
3 голосов
/ 08 октября 2010

Я вставляю значения типа '$5.99' (или пытаюсь вставить) в поле money.ему не нравится знак доллара

Я на самом деле делаю массовую вставку из CSV-файла.один из столбцов в CSV-файле содержит money со знаком доллара

Не могли бы вы помочь мне разобраться, как выполнить массовую вставку со знаком $ в поле money?

Msg 4864, Level 16, State 1, Line 1
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 2 (pricepaid).

как мне избавиться от знака?

Ответы [ 5 ]

5 голосов
/ 09 октября 2010

Исходя из этого вопроса, а также ваших предыдущих вопросов здесь и здесь , я бы порекомендовал вам выполнить массовую вставку во временную таблицу хранения, где вы можете определитьваше "денежное" поле как варчар.Затем напишите другой оператор SQL, чтобы переместить данные из таблицы хранения в реальную таблицу.В этом операторе SQL вы можете пропустить ненужные столбцы, удалить «$» из поля «деньги» и преобразовать его в тип данных «деньги» и т. Д.

3 голосов
/ 09 октября 2010

В качестве обходного пути вы можете создать таблицу с той же схемой, что и у вашей цели, используя столбец varchar вместо денег и массовую вставку в него.Затем обновите импортированную таблицу, чтобы удалить символ «$», и скопируйте данные в исходную цель.

3 голосов
/ 08 октября 2010

Нет, вы не можете вставить символы валюты в денежное поле.

На самом деле это просто десятичное число (19,4) с понятным именем.

2 голосов
/ 08 октября 2010

вы не можете, Деньги - это просто числовой тип, немного менее гибкий, чем десятичный.для хранения с символом вы должны использовать varchar

0 голосов
/ 09 октября 2010

Другие предложили временную таблицу. Если вы используете временную таблицу для хранения необработанных данных из вашего CSV-файла, вы сможете преобразовать напрямую в Money из поля Varchar или Char, содержащего символ $ (то есть без его удаления).

Это сработало для меня в SQL 2008.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...