In SQL Server 2017 è possibile utilizzare questa sintassi, ma non nelle versioni precedenti:
SELECT Name = TRIM(Name) FROM dbo.Customer;
In SQL Server 2017 è possibile utilizzare questa sintassi, ma non nelle versioni precedenti:
SELECT Name = TRIM(Name) FROM dbo.Customer;
Risposte:
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer
Per tagliare a destra, utilizzare:
SELECT RTRIM(Names) FROM Customer
Per tagliare a sinistra, utilizzare:
SELECT LTRIM(Names) FROM Customer
Per tagliare su entrambi i lati, utilizzare:
SELECT LTRIM(RTRIM(Names)) FROM Customer
Presumo che si tratti di un esercizio unico di pulizia dei dati. Una volta fatto, assicurarsi di aggiungere vincoli al database per prevenire dati errati in futuro, ad es
ALTER TABLE Customer ADD
CONSTRAINT customer_names__whitespace
CHECK (
Names NOT LIKE ' %'
AND Names NOT LIKE '% '
AND Names NOT LIKE '% %'
);
Considera anche di non consentire altri caratteri (tabulazione, ritorno a capo, avanzamento riga, ecc.) Che potrebbero causare problemi.
Può anche essere un buon momento per dividere quei nomi in family_name
, first_name
ecc :)
nel server sql 2008 r2 con espressione ssis abbiamo la funzione trim.
SQL Server Integration Services (SSIS) è un componente del software di database Microsoft SQL Server che può essere utilizzato per eseguire un'ampia gamma di attività di migrazione dei dati.
puoi trovare la descrizione completa su questo link
http://msdn.microsoft.com/en-us/library/ms139947.aspx
ma questa funzione ha alcune limitazioni in sé che sono menzionate anche da msdn su quella pagina. ma questo è in SQL Server 2008 R2
TRIM(" New York ") .The return result is "New York".
Versione estesa di "REPLACE":
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(RTRIM(LTRIM(REPLACE("Put in your Field name", ' ',' '))),'''',''), CHAR(9), ''), CHAR(10), ''), CHAR(13), ''), CHAR(160), '') [CorrValue]