Checkbox no filtro da consulta, pesquisa não retorna registros corretamente

Sou obrigado a postar aqui porque o forum não está permitindo criar tópicos para aplicação filtro.

Preciso de uma pequena ajuda de vocês, por gentileza.

Em um cadastro de contatos (form) tenho um campo chamado TIPO (mysql/tipo char/14 caracteres) onde uso o tipo SC checkbox, usando como delimitador o “;”.
São 7 opções possíveis:
1-Cliente
2-Fornecedor
3-Proprietário
4-Fabricante
5-Entidade
6-Manutenção
7-Veterinário
Neste cadastro, o contato pode possuir 1 ou todas as opções marcadas.

No banco, a informação fica gravada desta forma, caso eu marque todos os box no form: 1;2;3;4;5;6;7

O problema:

No consulta desta tabela, opção Pesquisa, coloquei o mesmo campo para que o usuário pudesse pesquisar pelo tipo, marcando 1 ou mais tipos, a fim de encontrar os contatos que se encaixam nos tipos pretendidos (lookup manual).

Acionando o debug da consulta, o filtro realizado pelo SC fica da seguinte forma quando eu marco os checkbox 4 e 5:
SELECT …campos… from contatos where tipo_contato in (‘4’,‘5’) LIMIT 0,12
Essa pesquisa dentro do conteúdo do campo nunca irá achar registro algum.

A pesquisa deveria ser:
SELECT …campos… from contatos where tipo_contato LIKE ‘%4%’ AND tipo_contato LIKE ‘%5%’ LIMIT 0,12
Essa sim retorna os registros corretos.

Isso tem solução? É bug ou erro de programação do SC?
Como deve ser a pesquisa para campos checbox?

Obrigado.

Fala rrma,

E se você gravar os valores com aspas, uma vez que o campo é do tipo char? Tipo, ficaria assim:

‘1’;‘2’;‘3’;‘4’;‘5’; e assim por diante. Acredito que assim a consulta que o SC gera encontraria o(s) registro(s).

Obrigado pela tentativa Kleyber, mas o código gera erro tentando usar ’ no valor.
Pelo jeito terei de criar 7 campos mesmo.

Webhelp errado!

Segue imagem em anexo, que mostra opção de filtro com campo checkbox usando delimitador, só que essa opção não existe no sc. O campo “tipo de lookup” simplesmente não existe.
Mais uma falha que nunca será corrigida.