sql - 使用 Microsoft Query varchar 的 SQL Server 到 Excel 未显示
问题描述
我读过很多帖子,对特殊字符问题的最简单答案是在运行查询之前替换换行符。我试过了:
REPLACE(REPLACE(Field1, CHAR(10), ' '), CHAR(13), ' ')
我将值粘贴到 Notepad++ 中,至少我可以看到不再有任何特殊字符,我什至做了一个 TOP 1 只尝试 1 行,但是当我在 Excel 的 Microsoft Query Editor 窗口中运行相同的查询时,值来了空白可以揭示一些信息或将我引导到我可能错过的另一个帖子答案。
解决方案
不漂亮,但能胜任。
CREATE Function dbo.ufn_RemoveSpecialChars (@str varchar(256)) returns varchar(256)
with schemabinding
begin
if @str is null
return null
declare @str2 varchar(256)
set @str2 = ''
declare @strlen int
set @strlen = len(@str)
declare @p int
set @p = 1
while @p <= @strlen begin
declare @code int
set @code = ascii(substring(@str, @p, 1))
if @code between 32 and 127
set @str2 = @str2 + char(@code)
set @p = @p + 1
end
if len(@str2) = 0
return null
return @str2
end
推荐阅读
- javascript - 使用哪个替代方法代替 document.write()?
- powershell - 将条件应用于命令行开关的输出
- javascript - 如何在 iOS 的 Ionic 电容器中为登录表单打开 webview 自动完成功能?
- python - 无法在 python 中实现 __repr__() 方法
- swift - 从共享扩展中的 NSItemProvider 获取 PDF 文件的 url
- prolog - X 在诸如“example([X|L1], [X,X|L2])”之类的谓词的第二个操作数中计算为什么
- c# - 如何在 ASP .NET Core 中初始化主机之前读取配置设置?
- shell - 无法在 Ubuntu 18.04 上将 AEM 作为服务启动
- python - 我在将 Python 项目(使用 Django)上传到 Heroku 时遇到问题
- reactjs - 反应更新嵌套状态对象删除其他值