Olá, Jean, tudo bem?
Desculpe pela demora em obter retorno.
Ao utilizar o tipo de dado "bit" em uma tabela do SQL Server, estamos criando um campo lógico que pode ter dois valores: 0 ou 1. O valor 0 representa falso e o valor 1 representa verdadeiro.
No seu código, você utilizou o valor 1 para o campo "TEM_DEPENDENTE", o que é correto. Porém, quando você consulta a tabela, está vendo o valor "0x01" ao invés de "1". Isso ocorre porque ele está exibindo o valor em formato hexadecimal.
Para exibir o valor em formato decimal, você pode utilizar a função "CONVERT" junto com o parâmetro "INT". Exemplo:
SELECT CONVERT(INT, [TEM DEPENDENTE]) FROM [VENDEDORES];
Ou ainda a cast:
SELECT CAST([TEM DEPENDENTE] AS INT) FROM [VENDEDORES]
Isso deve exibir o valor "1" ao invés de "0x01".
Deixo como sugestão de leitura a documentação.
Em relação ao uso do tipo de dado "char" ao invés de "varchar", é importante lembrar que o "char" é utilizado quando se sabe exatamente qual será o tamanho máximo do dado a ser armazenado na coluna. Já o "varchar" é utilizado quando o tamanho máximo pode variar.
No seu caso, se o tamanho máximo do campo "NOME" for de, por exemplo, 50 caracteres, você pode utilizar o tipo "char(50)" ou "varchar(50)" sem problemas. A escolha entre um ou outro vai depender da sua preferência e da necessidade do seu projeto.
Espero ter ajudado.
Qualquer dúvida, fico à disposição.
Abraços e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!