Como o campo do banco de dados INT é comparado ao tipo VARCHAR

Eu tenho o seguinte procedimento armazenado, não escrevendo o procedimento armazenado completo, mas alguns deles são:

@course int = null,
    SET @query = @query + 'Where course_id='+ cast(@course as varchar)

Quero saber quando converti o @course como o tipo VARCHAR enquanto meucourse_id no banco de dados é do tipo INT - como a comparação ocorre?

questionAnswers(4)

yourAnswerToTheQuestion