如何从查询中更新数据库

时间:2016-05-05 09:37:16

标签: mysql database

在我的数据库中我有很多这样的专栏。

Vendor     VZWBuildingNumber     VendorSiteID
ADO.NET           0              ACD-MI-12503 
ADO.NET           0              ACD-MI-12518
ADO.NET           0              ACD-MI-12517

我希望它像这样

Vendor     VZWBuildingNumber     VendorSiteID
ADO.NET        012503            ACD-MI-12503 
ADO.NET        012518            ACD-MI-12518
ADO.NET        012517            ACD-MI-12517

我想要VendorSiteID的最后5个字母,它在VZWBuildingNumber中,其中vendor = ADO.NET和VZWBuildingNumber = 0.我试过但没有任何成功请帮我查询。

1 个答案:

答案 0 :(得分:2)

Mysql的SUBSTRING功能正是您所需要的。

  

没有len参数的表单返回字符串str的子字符串   从pos位置开始带有len参数的表单返回a   substring len字符从字符串str开始,从position开始   POS机。使用FROM的表单是标准SQL语法

因此,您可以将查询编写为

UPDATE VZWBuildingNumber 
SET VZWBuildingNumber = CONCAT('0',SUBSTRING(VendorSiteID, 8, 7))
WHERE Vendor = 'ADO.NET'