SQL Server临时替换表中的特殊字符 - 使用视图

时间:2015-11-04 16:41:19

标签: sql sql-server view replace special-characters

我创建了一个sql视图,它返回了我所有必需的数据,效果很好。例如,视图列名称为CompanyName,Person,Title。我正在尝试编写一个报告(管道分隔),它将删除这些特殊字符:(“”,;〜,*)并返回数据,但不会永久更新视图或永久更新表。

示例:

Widgets & Widgets Joe President,Pro Tempore

应该成为

Widgets Widgets | Joe | President Pro Tempore

我在视图中进行查询,我的数据又回来了,但是没有任何替换函数会替换&符号,逗号,波浪号等。我只需要在sql中找到一个我可以导出到管道分隔文件。我不想永久更改数据,我只需要一次性报告。

有人可以帮忙吗? 感谢

2 个答案:

答案 0 :(得分:0)

在SQL Server中(我不知道这是否是您的数据库),您可以使用REPLACE函数将您想要的任何字符替换为您选择的另一个字符。嵌套多个REPLACE调用,您可以使用单个语句替换所需的所有特殊字符。

示例:

SELECT REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(COLUMN_NAME,'"','|'),',','|'),';','|'),'~','|'),'*','|') FROM TABLE_NAME

答案 1 :(得分:0)

您只需更换,更换,替换:

select replace(replace(replace(replace(company + ' | ' + name + ' | ' + title, '~', ''
                                      ), ',', ''
                              ), ';', ''
                       ), '*', ''
               )