Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server e conversão implícita de tipos


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).