run - sqlcmd arguments



Como aparar uma string no MS SQL mais antigo que o SQL Server 2017? (4)

Eu suponho que este é um exercício de lavagem de dados único. Uma vez feito, certifique-se de adicionar restrições de banco de dados para evitar dados ruins no futuro, por exemplo

ALTER TABLE Customer ADD
   CONSTRAINT customer_names__whitespace
      CHECK (
             Names NOT LIKE ' %'
             AND Names NOT LIKE '% '
             AND Names NOT LIKE '%  %'
            );

Considere também não permitir outros caracteres (guia, retorno de carro, alimentação de linha, etc) que podem causar problemas.

Também pode ser um bom momento para dividir esses nomes em family_name , first_name , etc :)

No SQL Server 2017, você pode usar essa sintaxe, mas não em versões anteriores:

SELECT TRIM(Names) FROM Customer;

Answer #1

Para aparar à direita, use:

SELECT RTRIM(Names) FROM Customer

Para aparar à esquerda, use:

SELECT LTRIM(Names) FROM Customer

Para aparar nos dois lados, use:

SELECT LTRIM(RTRIM(Names)) FROM Customer

Answer #2

no sql server 2008 r2 com a expressão ssis, temos a função trim.

O SSIS (SQL Server Integration Services) é um componente do software de banco de dados Microsoft SQL Server que pode ser usado para executar uma ampla gama de tarefas de migração de dados.

você pode encontrar a descrição completa neste link

http://msdn.microsoft.com/en-us/library/ms139947.aspx

mas esta função tem alguma limitação em si mesma que também é mencionada pelo msdn nessa página. mas isso é no sql server 2008 r2

TRIM("   New York   ") .The return result is "New York".

Answer #3
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer




sql-server