2016-05-05 2 views
1

в моей базе данных У меня есть много столбцов, подобных этому.Как обновить базу данных из запроса

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 

я хочу Последние 5 письмо VendorSiteID и apper в VZWBuildingNumber где вендор = ADO.NET и VZWBuildingNumber = 0. Я попробовал, но не любой успех, пожалуйста помогите мне с Query.

ответ

2

Mysql's SUBSTRING Функция - это то, что вы ищете.

Формы без аргумента len возвращают подстроку из строки str , начиная с позиции pos. Формы с аргументом len возвращают подстрочные len символы длиной от строки str, начиная с позиции поз. Формы, которые используют FROM являются стандартными SQL синтаксис

Таким образом, вы можете написать запрос в

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

это дисплей ... # 1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «FROM 5». ГДЕ Vendor = 'ACD.NET' 'в строке 1 –

+1

Я сделал вот так. UPDATE 'vendordata' SET VZWBuildingNumber = concat ('0', SUBSTR (VendorSiteID, -5)) WHERE Vendor = 'ADO.NET' –

+0

Да, это один из способов сделать это. – e4c5