Подтвердить что ты не робот

Удалить последние N символов из поля в базе данных SQL Server

У меня есть таблица из более чем 4 миллионов строк и случайно в одном столбце есть больше данных, чем нужно.

Например, вместо ABC есть ABC DEFG.

Как я могу удалить эти N символов с помощью TSQL? Обратите внимание, что я хочу удалить эти символы из базы данных, а не просто выбрать подстроку. Спасибо вам

4b9b3361

Ответ 1

UPDATE mytable SET column=LEFT(column, LEN(column)-5)

Удаляет последние 5 символов из столбца (каждая строка в таблице)

Ответ 2

Я получил ответ на свой вопрос, ant это:

select reverse(stuff(reverse('a,b,c,d,'), 1, N, ''))

Где N - количество символов для удаления. Это позволяет не записывать сложный столбец/строку дважды

Ответ 3

Вы можете сделать это, используя SUBSTRING:

Таблица UPDATE SET column = SUBSTRING (столбец, 0, LEN (столбец) + 1 - N)

Удаляет последние N символов из каждой строки в столбце

Ответ 4

Это должно сделать это, удалив символы слева на один или сколько угодно.

lEFT(columnX,LEN(columnX) - 1) AS NewColumnName