Массовая вставка поля, а затем преобразование его из CHAR в DECIMAL - PullRequest
0 голосов
/ 24 февраля 2012

Я использую массовую вставку для импорта данных из файла CSV. Одним из полей является число, и я импортирую его как DECIMAL (4,3). Тем не менее этот файл данных имеет несколько значений, число которых равно «3.2342e-05». Это, очевидно, вызывает ошибку, так как это символ. Как я могу преобразовать это число в ноль? Для моих целей я планирую считать любое число, которое меньше нуля.

Я предполагаю, что сначала я буду импортировать данные во временную таблицу (промежуточную таблицу), чтобы я мог очистить их там, а затем я вставлю их оттуда в свою финальную таблицу.

SQL Server 2008

РЕДАКТИРОВАТЬ: Одна вещь, которую я рассматриваю, это импортировать данные в виде символа, а затем преобразовать тип столбца, а затем с помощью оператора CASE установить любое значение больше 1 в ноль. Это поле никогда не должно быть больше 1, поэтому я могу это сделать.

1 Ответ

1 голос
/ 24 февраля 2012

Это распознается как float, поэтому вы можете удвоить CAST через float

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