我有表Table1
。随着场f1, f2
在sql中更新查询
表中的值是这样的(值包含引号)
"Hello1", "ok1"
"Hello2", "ok2"
我需要一个更新查询,使其从值 删除引号,它应该看起来像
Hello1, ok1
Hello2, ok2
我有表Table1
。随着场f1, f2
在sql中更新查询
表中的值是这样的(值包含引号)
"Hello1", "ok1"
"Hello2", "ok2"
我需要一个更新查询,使其从值 删除引号,它应该看起来像
Hello1, ok1
Hello2, ok2
使用替换功能去除双引号。
UPDATE Table1 set f1 = REPLACE(f1,'"',''), f2 = REPLACE(f2,'"','');
您可以编写完整的查询来获取我需要的输出请 – Linto 2011-05-03 22:07:27
运行更新后,它只是一个问题选择列:SELECT f1,f2 FROM Table1 – 2011-05-03 22:09:58
@ user310850这就是整个事情,除非你想添加一个地方 – 2011-05-03 22:10:32
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
我认为这可能取决于各种SQL,但在MySQL中你可以这样做:
UPDATE Table1 SET f1 = TRIM(BOTH '"' FROM f1), f2 = TRIM(BOTH '"' FROM f2);
周边报价使用:
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
什么数据库系统,您使用的? – yan 2011-05-03 21:59:53
iam使用sql数据库 – Linto 2011-05-03 22:00:39
有很多SQL数据库..您使用的是什么数据库引擎?即MySQL,PostgreSQL,Oracle等 – yan 2011-05-03 22:01:02