tabulaciones - Eliminar espacios finales y actualizar en columnas en SQL Server
quitar espacios en blanco mysql (12)
Tengo espacios finales en una columna en una tabla de SQL Server llamada Company Name
.
Todos los datos en esta columna tienen espacios finales.
Quiero eliminar todo eso, y quiero tener los datos sin espacios finales.
El nombre de la compañía es como "Amit Tech Corp "
Quiero que el nombre de la compañía sea "Amit Tech Corp"
Bueno, aquí hay una buena secuencia de comandos para TRIM todas las columnas varchar en una tabla de forma dinámica:
--Just change table name
declare @MyTable varchar(100)
set @MyTable = ''MyTable''
--temp table to get column names and a row id
select column_name, ROW_NUMBER() OVER(ORDER BY column_name) as id into #tempcols from INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE IN (''varchar'', ''nvarchar'') and TABLE_NAME = @MyTable
declare @tri int
select @tri = count(*) from #tempcols
declare @i int
select @i = 0
declare @trimmer nvarchar(max)
declare @comma varchar(1)
set @comma = '', ''
--Build Update query
select @trimmer = ''UPDATE [dbo].['' + @MyTable + ''] SET ''
WHILE @i <= @tri
BEGIN
IF (@i = @tri)
BEGIN
set @comma = ''''
END
SELECT @trimmer = @trimmer + CHAR(10)+ ''['' + COLUMN_NAME + ''] = LTRIM(RTRIM(['' + COLUMN_NAME + '']))''+@comma
FROM #tempcols
where id = @i
select @i = @i+1
END
--execute the entire query
EXEC sp_executesql @trimmer
drop table #tempcols
Bueno, depende de qué versión de SQL Server esté utilizando.
En SQL Server 2008 r2, 2012 y 2014, simplemente puede usar TRIM(CompanyName)
En otras versiones, debe usar set CompanyName = LTRIM(RTRIM(CompanyName))
Ejemplo:
SELECT TRIM('' Sample '');
Resultado: ''Sample''
UPDATE TableName SET ColumnName = TRIM(ColumnName)
Intente SELECT LTRIM(RTRIM(''Amit Tech Corp ''))
LTRIM
- elimina cualquier espacio LTRIM
del lado izquierdo de la cadena
RTRIM
: elimina espacios de la derecha
Ex:
update table set CompanyName = LTRIM(RTRIM(CompanyName))
TRIM
ahora está disponible desde SQL Server 2017+.
EX: UPDATE TABLE SET CompanyName = TRIM(CompanyName)
La mejor manera de eliminar todos los espacios es SELECT REPLACE ("Amit Tech Corp", "", "")
En lugar de LTRIM y RTRIM
Para recortar los espacios finales, debe usar
UPDATE
TableName
SET
ColumnName = RTRIM(ColumnName)
Sin embargo, si desea recortar todos los espacios iniciales y finales, utilice este
UPDATE
TableName
SET
ColumnName = LTRIM(RTRIM(ColumnName))
SQL Server no es compatible con la función Trim ().
Pero puede usar LTRIM () para eliminar espacios iniciales y RTRIM () para eliminar espacios finales.
puede usarlo como LTRIM (RTRIM (ColumnName)) para eliminar ambos.
update tablename
set ColumnName= LTRIM(RTRIM(ColumnName))
Si está utilizando SQL Server (comenzando con vNext) o Azure SQL Database , puede usar la consulta siguiente.
SELECT TRIM(ColumnName) from TableName;
Para otra base de datos SQL SERVER puede usar la consulta siguiente.
SELECT LTRIM(RTRIM(ColumnName)) from TableName
LTRIM - Elimina espacios de la izquierda
ejemplo: select LTRIM('' test '') as trim
= ''test ''
RTRIM - Elimina espacios de la derecha
ejemplo: select RTRIM('' test '') as trim
= '' test''
Tuve el mismo problema después de extraer datos del archivo Excel usando ETL y finalmente encontré la solución allí:
https://www.codeproject.com/Tips/330787/LTRIM-RTRIM-doesn-t-always-work
Espero eso ayude ;)
Use la función TRIM SQL.
Si está usando SQL Server intente:
SELECT LTRIM(RTRIM(YourColumn)) FROM YourTable
SELECT TRIM(ColumnName) FROM dual;
update MyTable set CompanyName = rtrim(CompanyName)