gpt4 book ai didi

sql - 如何在数据库中的所有 varchar 和 nvarchar 字段之间转换换行符(将\r\n 替换为\n)

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

我正在从我构建的系统中的一个错误中恢复,该系统中我没有考虑到 IE 在发布 HTML 表单时会生成 Windows 风格的换行符 (\r\n),而其他浏览器会生成 Unix 风格的换行符 (\n)与文本区域。现在,我需要将 SQL-Server 数据库中 varchar 和 nvarchar 字段中的所有 Windows 样式换行符 (\r\n) 转换为 Unix 样式换行符 (\n)。

有没有办法迭代 T-SQL 中的所有表/行,并将 varchar 和 nvarchar 字段的“\r\n”实例替换为“\n”?

编辑:我认为替换部分会是这样的

REPLACE(@fieldContents, CHAR(13)+CHAR(10), CHAR(10))

困难的部分是在所有 varchar 和 nvarchar 字段中执行此操作。

最佳答案

有这样的事吗?然后,您可以动态执行这些字符串,或者只是剪切/粘贴结果并在查询窗口中执行它们。

select 'update ' + sc.name + '.' + t.name + ' set ' + c.name + ' = replace(' + c.name + ', CHAR(13)+CHAR(10), CHAR(10))'
from sys.columns c
inner join sys.systypes st
on c.system_type_id = st.xtype
and CHARINDEX('varchar', st.name) <> 0
inner join sys.tables t
on c.object_id = t.object_id
inner join sys.schemas sc
on t.schema_id = sc.schema_id

关于sql - 如何在数据库中的所有 varchar 和 nvarchar 字段之间转换换行符(将\r\n 替换为\n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3112747/

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