sql-server – 如何替换分号
我有一个SQL SELECT查询从我的数据库抓取一些数据.我需要在我的SELECT查询中替换一个包含分号的单词.正是这样:
REPLACE(Table.Field,'"','') AS Field1 我读到的错误
所以我认为分号正在终止查询.我怎么能逃脱这个分号? 我尝试了反斜杠并使用双引号. 根据要求提供一些样品数据和预期输出 样品数据 Field "Hello" "Goodbye" 预期产量 Field1 Hello Goodbye 完全查询 SELECT REPLACE(Table.Name,';','') AS Name,SUM(Table.Quantity) AS Quantity,SUM(Table.Price*Table.Quantity) AS Price FROM Table GROUP BY Name 解决方法的;符号不会终止查询,并且不应该转义,如果它是字符串文字的一部分(文本用单引号括起来).这是一个完整的例子,证明它在SSMS中正常工作: CREATE TABLE #TempTable (Name varchar(50)); INSERT INTO #TempTable (Name) VALUES('Field'); INSERT INTO #TempTable (Name) VALUES('"Hello"'); INSERT INTO #TempTable (Name) VALUES('"Goodbye"'); SELECT Name,REPLACE(Name,'') AS ReplacedName FROM #TempTable; DROP TABLE #TempTable; 这是结果集: Name ReplacedName ---- ------------ Field Field "Hello" Hello "Goodbye" Goodbye 你没有提供你如何构建和执行你的查询的所有细节,所以我有一个猜测.看起来你是: >动态构建查询的文本 要了解发生了什么,您应该打印发送到服务器的实际SQL查询的文本.一旦你有了,应该会变得明显出了什么问题.我不认为您提出的完整查询是您正在尝试运行的真正查询.它有语法错误.所以,首先得到真正的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |