SELECT RIGHT(MyColumn, LEN(MyColumn) - 4) AS MyTrimmedColumn
Editar: de explicar, DERECHA tiene 2 argumentos - la cadena (o columna) para operar en, y la cantidad de caracteres a devolver (empezando en el lado "derecho" de la cadena). LEN devuelve la longitud de los datos de la columna, y restamos cuatro para que nuestra función DERECHA deje a los 4 caracteres más a la izquierda "detrás".
Espero que esto tenga sentido.
Editar de nuevo - Acabo de leer la respuesta de Andrew, y es muy posible que haya interpelado correctamente, y podría estar equivocado. Si este es el caso (y que desea actualizar la tabla en lugar de sólo devuelve resultados adulterados), usted puede hacer esto:
UPDATE MyTable
SET MyColumn = RIGHT(MyColumn, LEN(MyColumn) - 4)
Está en el camino correcto, pero su solución mantener los 4 caracteres en el inicio de la cadena, en lugar de descartar dichos 4 caracteres.
esta fallará para valores con <4 caracteres. Debe agregar un bloque de casos para devolver el valor de la columna para <4. –
@Scott: Verdadero. SUBSTRING deals <4: simplemente devuelve cadena de longitud cero ... – gbn
Probablemente la mejor manera de manejarlo sería simplemente: ACTUALIZACIÓN MyTableSET MyColumn = RIGHT (MyColumn, LEN (MyColumn) - 4) WHERE LEN (MyColumn)> 4 El SUBSTRING no generará errores, pero también "actualizará" innecesariamente filas con menos de cuatro caracteres. Dicho esto, el OP indicó que querían recortar los primeros 4 caracteres de una columna específica, supongo que a menos que se proporcione con mayor detalle que TODAS las filas deben ser recortadas. –