gpt4 book ai didi

SQL Server : How to perform Rtrim on all varchar columns of a table

转载 作者:行者123 更新时间:2023-12-02 02:30:34 24 4
gpt4 key购买 nike

我的表(sql server 2008)中有超过 30 列。列类型为 varchar(x)。我知道在每一列中,列值末尾都有两个额外的空格。如何对所有列使用 rtrim 函数并将此修改保存到现有表中?

编辑:有没有办法使用存储过程或游标来执行此操作,而无需手动声明所有列?

最佳答案

对于通用方法,您可以使用这样的脚本为给定的表生成语句(如果您有很多列,则很有用!):

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

这只会打印 SQL 语句。然后您可以复制并运行该语句,或者只是EXECUTE(@SQL)。这尚未经过测试,因此请先在测试台上尝试一下:)

关于SQL Server : How to perform Rtrim on all varchar columns of a table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2552154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com