sql - 在每一列上选择替换

标签 sql sql-server sql-server-2008

我有一个包含大约 100 列的表,是否可以同时对每一列执行选择替换而不是单独输入每一列,我正在尝试修剪 '"' 表中的每个字段。

SELECT
    REPLACE(*, '"', '')

最佳答案

DECLARE @tablename nvarchar(100)= 'Test'
DECLARE @col nvarchar(max)
SELECT @col = coalesce(@col + ',', 'select ' ) + 
case when data_type in ('varchar', 'char','nvarchar', 'nchar') then 
'replace('+column_name+' , ''"'', '''') '+' as [' + column_name + ']' else '[' + column_name + ']' end 
FROM INFORMATION_SCHEMA.COLUMNS a
WHERE table_name = @tablename
SET @col += ' from ' +  @tablename

EXEC (@col)

关于sql - 在每一列上选择替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9804413/

相关文章:

SQL Server 存储过程 IF Exist Update Else Insert

c# - Entity Framework 在指定 MaxLength 时使用 nvarchar (max)

sql - 意外执行删除表

sql - RDBMS的实际大小限制

c# - EF 6.1 Database.SqlQuery 投影为复杂类型(多对多关系)

PHP + mySQLi 最后插入的 id

java - SQL Server 2008 - 如何同时获取列名和值?

sql - 选择 SQL 查询以从 ntext 列获取 xml 节点值?

sql-server - 必须进行哪些设置才能使用下面给出的连接字符串连接数据库?

sql - 有条件地从一个表或另一表中选择