Я использую SQL Server 2008.Найти конкретное слово в колонке
Мои таблицы:
Расположение
------------------------
Id | LocationName
------------------------
1 | Bodakdev
2 | Thaltej Road
3 | Andheri East
4 | Noida Sector 2
Компания
--------------------------------------------------------------------------
CId | Address | LocationId
--------------------------------------------------------------------------
11 | 301, GNFC Infotower, Bodakdev, | NULL
12 | 307/308,Arundeep Complex | NULL
13 | 7 Krishana Dyeing Compund, Nagardas rd., Andheri | NULL
14 | B-23 ,Ground Floor,Sector 2 | NULL
--------------------------------------------------------------------------
В настоящее время LocationId
в таблице Company
- null. Если Address
содержит любое местонахождение, то обновите LocationId
.
Например, адрес РТВ - 11 содержит Bodakdev
обновит LocationId 1, второй пример, Адрес ИДС - 13 содержит Andheri
слово затем обновить LocationId 3.
Требуемая мощность:
CId | Address | LocationId
--------------------------------------------------------------------------
11 | 301, GNFC Infotower, Bodakdev, | 1
12 | 307/308,Arundeep Complex | NULL
13 | 7 Krishana Dyeing Compund, Nagardas rd., Andheri | 3
14 | B-23 ,Ground Floor,Sector 2 | 4
--------------------------------------------------------------------------
I попытался с помощью ниже запроса
SELECT
(LEN(Address) - LEN(REPLACE(Address, LocationName, '')))/LEN(LocationName)
если Address
содержит имя местоположения, то она будет г eturn количество случаев, в противном случае оно возвращается 0.
Но он не даст правильного выхода. Как я могу это сделать? Благодарю. Любое предложение будет оценено по достоинству.
Вы хотите обновить строки в базе данных или получить запрос, достаточный для вывода? – ojblass
@ojblass Я хочу обновить строки в базе данных, но сначала я пытаюсь получить идентификатор местоположения. – Prashant16
Почему вы не используете ключевое слово 'like'? –