Esta é a lista que você procura DataType Precedence
Nos seus exemplos:
WHERE quantity > '3'
'3' é convertido para int, quantidade correspondente
WHERE quantityTest > 3
Não é necessário elenco
WHERE date = 20120101
20120101 como um número está sendo lançado para uma data, que é muito grande. por exemplo.
select cast(20120101 as datetime)
Isso é diferente de
WHERE date = '20120101'
Onde a data como uma string pode ser lançado.
Se você perder um terço da referência CAST and CONVERT à seção Conversões Implícitas, há uma tabela de conversões implícitas que são permitidas. Só porque é permitido não significa que funcionará, como (20120101 -> datetime).