Если вам нужно предложение where, в котором можно указать, содержит ли столбец информацию, которую нельзя преобразовать в int
или smallint
, вы можете использовать try_cast
:
SELECT *
FROM <TableName>
WHERE TRY_CAST(<ColumnName> AS Int) IS NULL
Youможно изменить int
на smallint
, чтобы получить значения, которые не могут быть преобразованы в smallint
, но могут быть преобразованы в int
.
Не забудьте заменить <TableName>
и <ColumnName>
к именам соответствующей таблицы и столбца.
Встроенная функция Try_Cast
вернет ноль, если значение в <ColumnName>
равно нулю или если его невозможно преобразовать в int
(ипоскольку все значения smallint
также можно преобразовать в int
, его также нельзя преобразовать в smallint
).