2015-09-23 7 views
2

У меня есть sql-запрос, который извлекает столбец, значения которого являются строками. Я хочу, чтобы создать столбец рядом с ним, которая принимает значение 1, если подстрока «MB» содержится в значении или 0 в противном случаеSQL как создать булевский столбец на основе значения другого столбца

+2

могли бы вы предоставить код .. –

ответ

2

Вы можете вывести еще один столбец с вычисленным значением, как это:

select COLUMN, IF(LOCATE('MB', COLUMN) > 0, 1, 0) as STR_FOUND 
    from TABLE 

Смотрите документацию locate и if для дальнейшей информации.

+0

Я не вижу функцию LOCATE в MSSQL – niksofteng

+1

Это не MSSQL. Это MySql –

3

Вы можете попробовать его с помощью случай, когда то, как это:

select case when INSTR('mycol', 'MB') > 0 then 1 
     else 0 
     end as myBoolCol 
+0

Как бы один знать '' pos' и len'? –

+0

@ RenéHoffmann: - Обновлен ответ. Однако я не уверен, как OP извлекает строку '' MB''. –

+1

Спасибо тонну! Ты помог потерянной душе. : D –

1
select column, 
     case when column like '%mb%' then 1 
     else 0 end 
from table 

Это работает как для MSSQL и MYSQL

Смежные вопросы