Обновить столбец, если другой столбец содержит строку - PullRequest
1 голос
/ 30 сентября 2011

У меня есть таблица, которая содержит три столбца.

column1        column2     column3 
mytestdata     test 
myotherdata    test 

Я хочу вставить 'somestring' в column3, если column1 содержит значение в column2

Результат будет выглядеть так:

column1        column2     column3 
mytestdata     test        'somestring' 
myotherdata    test 

Ответы [ 4 ]

4 голосов
/ 30 сентября 2011

SQL Server:

UPDATE myTable
   SET column3 = 'somestring'
 WHERE column1 LIKE '%' + column2 + '%'
3 голосов
/ 30 сентября 2011

SQL Server:

UPDATE theTable SET column3 = 'somestring' 
WHERE CHARINDEX (column2, column1) > 0
2 голосов
/ 30 сентября 2011

В зависимости от РСУБД у вас есть несколько вариантов.

Для MySQL и Oracle:

UPDATE yourTable
set column3 = 'somestring'
where INSTR(column2, column1) > 0

Для SQL Server:

UPDATE yourTable
set column3 = 'somestring'
where CHARINDEX(column1, column2) > 0
0 голосов
/ 30 сентября 2011

Вы можете сделать что-то вроде ниже

UPDATE tmp
SET
   column3 = (CASE WHEN tmp.column1 like '%' + tmp.column2 + '%' THEN 'something' ELSE tmp.column3')
FROM
    tablename tmp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...