sql - SQL Server:如何替换文本字段中的换行符?
问题描述
我有以下 SQL
SELECT COLUMN_NAME
FROM Information_Schema.Columns
WHERE TABLE_NAME = 'TABLE'
AND DATA_TYPE = 'varchar'
ORDER BY COLUMN_NAME
它返回:
COLUMN_NAME
-------------------
CiudadConductor
CiudadPropietario
CodBaseLegal
DireccConductor
DireccPropietario
PTActa
PTClase
PTCodCategoriaClase
PTCodCIP
PTCodiConductor
使用此 SQL,我需要识别varchar
存在的列,但我想做数据更新。
我知道这个 SQL 替换了,但是我如何让这两个 SQL 语句一起工作。
REPLACE(ColumnName, CHAR(13),'')
varchar
我想删除所有列中的换行符
解决方案
这应该可以工作(未经测试),但是,PRINT
如果它可能有点“关闭”,它将指导你:
DECLARE @SQL nvarchar(MAX),
@Table sysname = N'T700InfracTrans';
SET @SQL = N'UPDATE ' + QUOTENAME(@Table) + NCHAR(13) + NCHAR(10) +
N'SET ' + STUFF((SELECT N',' + NCHAR(13) + NCHAR(10) +
N' ' + QUOTENAME(COLUMN_NAME) + N' = REPLACE(REPLACE(' + QUOTENAME(COLUMN_NAME) + N',CHAR(13),''''),CHAR(10),'''')'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @Table
AND DATA_TYPE = N'varchar'
ORDER BY COLUMN_NAME
FOR XML PATH(''),TYPE).value('.','nvarchar(MAX)'),1,7,N'') + N';';
PRINT @SQL; --Your debugging best friend.
--EXEC sp_executesql @SQL; --Uncomment to execute
推荐阅读
- excel - ExcelPackage 对象不返回工作表
- filebeat - 为什么需要 Elasticsearch 和 Kibana 来设置 Filebeat?
- python - 试图提取特定的表列
- python - 我正在寻找一个函数,它有助于在 python 中的特定特殊字符之后从文件中读取字符串
- html - 如何使用 Jquery 仅从 json 数组中获取值?
- javascript - 为什么即使我从未调用过回调函数也会被调用?
- mariadb - 领先和滞后在 mysql 工作台 8.0.22 中不起作用
- reactjs - 尝试访问以前的道具值时出现无效的钩子错误
- javascript - 如果数据是 ACTIVE 或 INACTIVE 使用 JQuery 和 Ajax,我如何使我的 dataTable 排序?
- salesforce - 有没有办法选择 Salesforce 中所有以值开头的对象?