我试图替换数据库的所有列中的所有换行符,然后再将其导出到csv。

如果指定列,我可以使它工作,但我有200多个

适用于1列的示例:

SELECT replace(
          replace([Incident_Number],char(10),' '),char(13),' ') AS [Incident_Number]
FROM [itsmwh].[dbo].[HELP_DESK];

如何使它适用于表中的所有列?

#1楼 票数:0

在这种情况下,您可以编写脚本来为您生成脚本。

我会做这样的事情……

DECLARE @Sql NVARCHAR(MAX);

SELECT @Sql =  STUFF((SELECT  ', replace(replace(' + QUOTENAME(C.name) 
                     +  ',char(10),'' ''),char(13),'' '') AS '+QUOTENAME(C.name) +' '
FROM sys.columns c 
inner join sys.tables  t ON t.[object_id] = c.[object_id]
inner join sys.schemas s ON s.[schema_id] = t.[schema_id]
Where t.name = 'TableName'  --<-- Table Name
 and  s.name = 'SchemaName'  --<-- Schema Name
FOR XML PATH('') , TYPE).value('.','NVARCHAR(MAX)'),1,1,'')

SET @Sql = 'SELECT ' + @Sql + ' FROM [itsmwh].[dbo].[HELP_DESK]; '

Exec sp_executesql @Sql

#2楼 票数:0

您也可以尝试这个

DECLARE @tblName VARCHAR(20) = '[itsmwh].[dbo].[HELP_DESK]'
DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX)

SELECT @columns = COALESCE(@columns, 'REPLACE(REPLACE(') + '[' + COLUMN_NAME + '], CHAR(10), '' ''), CHAR(13), '' ''), REPLACE(REPLACE('
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @tblName

SET @sql = 'SELECT ' + LEFT(STUFF(@columns, LEN(@columns), 1, ''), LEN(STUFF(@columns, LEN(@columns), 1, '')) - LEN(', REPLACE(REPLACE')) + ' FROM ' + @tblName
EXEC(@sql)

  ask by kresso translate from so

未解决问题?本站智能推荐:

3回复

如何通过避免在所有表中重现的某些列从SQL Server 2008中的多个表中选择列名

我有一个数据库,存储公司员工的完整详细信息。 我需要从数据库中的多个表中选择列名,这些表在执行时会为我提供列出特定详细信息所需的列。 所以,我尝试了以下查询,该查询仅返回指定表的列。 所有表都有一个名为“EmployeeId”的列,可以将其视为主键。 现在,我怎么能通过避免某些列来
1回复

行到sql中的列(不是所有行)

我正在尝试将行数据转换为SQL中的列,这是我表中的数据 我想要结果 任何帮助将不胜感激
2回复

如何从表中删除除表中所有列的最小值和最大值以外的所有行

我有一个带有以下各列的Visitors表格 ID , Visitors , RegDate (date & time) 行:有4、6、8、20、11、31、43位访问者,其访问日期相同(7月18日),但时间不同。 其他行:有1、5、10、4、13、15、18、11、23
4回复

比较SQL组中的列

我对SQL还是很陌生,因此如果这个问题很难理解,我深表歉意。 假设我有一个类似的表格: 我想执行一条选择语句,为我提供具有多个不同生日的人的名字。 因此,对于我的示例表,输出将是Mark,Joe和Jeff。 谢谢你的帮助。
4回复

在 SQL 中垂直联合列

假设这些表: 组: (Id, Title): {1,G1}, {2,G2}, {3,G3}, {4, G4} 类别: (Id, Title): {1, Cat1}, {2, Cat2}, {3, Cat3}, {4, Cat4} 产品:(Id、GroupId、CategoryId、名称):
2回复

根据 SQL 中的条件创建另一列

我需要帮助来为下面的输出创建查询。 正如您在下面的数据集中看到的那样,我希望将患者记录放在一行中,并包含所有详细信息 例如,Shahin Adam 只需要 1 个单独的记录,将剂量 1 和剂量 2 的详细信息与每个剂量的日期结合起来 期望的输出 感谢您的帮助
1回复

在此SQL查询中添加新列?

我正在从WIP和Employee表查询数据: 在制品 ID,名称 员工编号,姓名,组织 同时加入我可以查询: 结果: 要求: 在查询中添加另一列,该列将按e.Organization和e.ConsultantName进行连接和分组,但仅用于第一个唯一记录。
5回复

如何从SQL表中删除重复数据

我正在从第三方来源的数据上传和更新数据库。 不幸的是,来自第三方数据源的数据中有许多重复的记录。 我在SO上看了几个问题,但似乎都是在一个ID列将一行与另一行区分开的情况下。 就我而言,没有ID列。 例如 是否有一个简单查询可以删除所有重复记录并将一个记录保留为原始记录?