sql >> Databáze >  >> RDS >> Sqlserver

SQL Server:Jak provést Rtrim na všech sloupcích varchar tabulky

Pro obecný přístup můžete použít skript jako tento k vygenerování příkazu pro vás pro danou tabulku (užitečné, pokud máte mnoho sloupců!):

DECLARE @SQL VARCHAR(MAX)
DECLARE @TableName NVARCHAR(128)
SET @TableName = 'YourTableName'

SELECT @SQL = COALESCE(@SQL + ',[', '[') + 
              COLUMN_NAME + ']=RTRIM([' + COLUMN_NAME + '])'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
    AND DATA_TYPE = 'varchar'

SET @SQL = 'UPDATE [' + @TableName + '] SET ' + @SQL
PRINT @SQL

To pouze vytiskne příkaz SQL. Příkaz pak můžete buď zkopírovat + spustit, nebo jednoduše EXECUTE(@SQL) . Toto je nevyzkoušeno, takže to nejprve vyzkoušejte na testovacím stole :)



  1. Uzamčení řádku v tabulce MYSQL během transakce

  2. Dotaz MySQL vyhledá hodnoty v řetězci odděleném čárkou

  3. MariaDB MaxScale Load Balancing on Docker:Deployment:Part One

  4. MySQL používá názvy sloupců z jiné tabulky