用'转换字段值到带单引号的文本字符串

时间:2019-06-14 20:07:02

标签: sql-server

确定这很容易,但不能弄清楚。

我有一个SQL表字段,其值类似于“ Chauncey '钢琴”。我希望查询的输出显示“昌西的钢琴”。同样,如果字段值中还有其他类似的代码,我也希望它们也进行翻译。

我已经搜索并找到了诸如translate and convert之类的命令,但是似乎没有合适的命令。还发现了类似的问题,其中替换了字段中的特定代码,但是在输出中翻译了代码的地方却没有。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是可以帮助您的一种选择。它应该将转义值转换为相应的字符,然后再转换回原始类型。

DECLARE @Sample TABLE( String nvarchar(4000));
INSERT INTO @Sample VALUES ('Chauncey's piano');

SELECT *, 
    CAST( CAST( String AS XML) AS nvarchar(4000)), --Change nvarchar(4000) for appropriate data type
    CONVERT(XML,String).value('text()[1]', 'nvarchar(max)') --Jeroen's improvement.
FROM @Sample;