2013-06-20 10 views
4

У меня есть таблица, таблица А, и в таблице AI есть поле А. Есть значения в поле, как в следующем:Как удалить 1-й символ из столбца в SQL Server

Street A 
Street B 
,Street C 
Street D 
etc 

Я бы хотел бы знать, есть ли какой-либо SQL, который позволит мне либо удалить 1-й символ из поля A, где есть.

Я знаю, с чего начать. Я могу выбрать все строки, которые имеют, в поле А, но я не знаю, с чего начать, пытаясь его удалить.

ответ

3
UPDATE YourTable 
SET YourCol = SUBSTRING(YourCol, 2, 0+0x7fffffff) 
WHERE YourCol LIKE ',%' 
+0

Круто, что сортируется это благодаря – w3n2u

3

Вы можете использовать RIGHT, LEN и RTRIM функции в

UPDATE TableA 
SET FieldA = RIGHT(RTRIM(FieldA), LEN(FieldA) - 1) 
WHERE FieldA LIKE ',%' 

Example

+0

@MartinSmith спасибо за указание, что из, я обновил его использовать функцию, DATALENGTH –

+0

Конечно, если их столбец тип данных 'UNICODE' или они находятся на двойной однако, это может быть неверно. –

+0

i обновлен для unicode, не уверен, что сопоставление двухбайтовых байтов имеет значение для длины данных, хотя –

10

Если вы хотите, а не заботиться о длине, материал право кандидат:

UPDATE YourTable 
SET YourCol = STUFF(YourCol, 1, 1, '') 
WHERE YourCol LIKE ',%' 
+0

Чтобы быть ясным, нет особой необходимости заботиться о длине с помощью 'SUBSTRING' - это не имеет значения, если оно указано выше, поэтому вы можете установить его на max int. –

Смежные вопросы