我有表Table1
。使用字段f1, f2
表值类似(值包含引号)
"Hello1", "ok1"
"Hello2", "ok2"
我需要更新查询,以便从值中删除引号 它应该看起来像
Hello1, ok1
Hello2, ok2
答案 0 :(得分:3)
使用“替换”功能去除双引号。
UPDATE Table1 set f1 = REPLACE(f1,'"',''), f2 = REPLACE(f2,'"','');
答案 1 :(得分:2)
如果您只想删除周围的引号,请使用:
UPDATE Table1 SET
f1 = SUBSTRING(f1, 2, LEN(f1)-2),
f2 = SUBSTRING(f2, 2, LEN(f2)-2)
如果要删除所有引号(包括中间引号),请使用:
UPDATE Table1 set f1 = REPLACE(f1,'"',''), f2 = REPLACE(f2,'"','')
然后要获得最终输出,您可以使用:
SELECT * FROM Table1
答案 2 :(得分:0)
Update Table1
Set f1 = Case
When f1 Like '"%' And f1 Like '%"' Then Substring(f1,2,Len(f1)-2)
When f1 Like '"%' Then Substring(f1,1,Len(f1)-1)
When f1 Like '%"' Then Substring(f1,2,Len(f1)-1)
Else f1
End
, f2 = Case
When f2 Like '"%' And f2 Like '%"' Then Substring(f2,2,Len(f2)-2)
When f2 Like '"%' Then Substring(f2,1,Len(f2)-1)
When f2 Like '%"' Then Substring(f2,2,Len(f2)-1)
Else f2
End
答案 3 :(得分:0)
我认为这可能取决于各种SQL,但在MySQL中你可以这样做:
UPDATE Table1 SET f1 = TRIM(BOTH '"' FROM f1), f2 = TRIM(BOTH '"' FROM f2);
答案 4 :(得分:0)