Удаление посторонних символов в столбце с использованием T-SQL - PullRequest
2 голосов
/ 12 мая 2011

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

Например, одна строка может выглядеть следующим образом:

ocm03204415 820302

Я хочу удалить все после пробела ... поэтому символы «820302».Я мог бы сделать это вручную, но есть около 2000 записей, которые имеют эти дополнительные значения в столбце.Было бы здорово, если бы я мог удалить их программно.Я не могу сделать простую замену, потому что символы не имеют шаблон ... Я не мог определить правило для их обнаружения ... единственное, что единообразно - это пробел ... хотя, теперь, когда я смотрю на набор данных, они все начинаются с 8.

Есть ли способ, которым я могу удалить эти символы программно?Я знаком с PL / SQL в среде Oracle, и мне было интересно, предложит ли транзакционный SQL некоторые возможности в среде MS-SQL?

Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 12 мая 2011

Возможно, вы захотите заглянуть в функцию CHARINDEX, чтобы найти место.Затем вы можете использовать SUBSTRING, чтобы захватить все до места в одном выражении UPDATE.

3 голосов
/ 13 мая 2011

Попробуйте это:

UPDATE YourTable
SET YourColumn = LEFT(YourColumn,CHARINDEX(' ',YourColumn)-1)
WHERE CHARINDEX(' ',YourColumn) > 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...