我正在尝试使用MSSQL进行简单的查找和替换查询,但是查询在不删除字符的情况下运行。我想要查询而不必在每行中列出唯一数据。
Number
''12454545''
''12454''
''1895622''
''9846252''
Number
12454545
12454
1895622
9846252
因此我只需要从每行的值中删除('')。 Excel中的查找和替换功能正是此处所需的原则。
以下是我尝试过的两个成功运行的查询,但它没有删除('')。
UPDATE [Table]
SET [Number] = REPLACE([Number], '''', '')
SELECT REPLACE([Number], '''', '') FROM [Table]
有什么建议吗?
答案 0 :(得分:2)
好的,我认为您可以在查询之前使用SET QUOTED_IDENTIFIER OFF
-
SET QUOTED_IDENTIFIER OFF;
UPDATE [Table]
SET [Number] = REPLACE([Number], "'", "")
SET QUOTED_IDENTIFIER ON;
答案 1 :(得分:2)
您对我的评论的回复表明您正在处理ASCII字符34,这是一个简单的双引号(“),而不是您尝试用当前代码替换的单引号('字符39)。
而是尝试:
RecyclerView
或者,更明显:
UPDATE [Table] SET [Number] = REPLACE([Number], '"', '')
答案 2 :(得分:1)
试试这个:
UPDATE [Table]
SET [Number] = REPLACE([Number], '"', '')
这基本上与替换两个'相同,因为每个人都有'将被替换。
我不确定为什么它不起作用,但我可以猜到它,因为SQL-SERVER如何处理字符串中的引号和'''''''''''''''与''相同,因此当您输入单独的引号时,它将被识别。
答案 3 :(得分:0)
尝试
UPDATE [Table]
SET [Number] = REPLACE(REPLACE([Number],'''',''),'"','')