SQL Server будет CAST
или CONVERT
значение, которое вы передаете, когда вы указываете значение, которое не соответствует ожидаемому вами типу.
т.е. Пытаться:
SELECT * FROM CustomerPhone WHERE PhoneTypeID = '7'
Здесь SQL Server возьмет вашу строку '7'
и попытается преобразовать ее в соответствующий тип int, smallint, tinyint (независимо от того, что подходит).