Каков наилучший способ определить, является ли значение поля целым числом в SQL Server (2000/2005/2008)?
IsNumeric возвращает true для множества форматов, которые вряд ли будут преобразованы в целое число. Примеры включают «15 000» и «15 .1».
Вы можете использовать оператор like, но, похоже, он хорошо работает только для полей с заранее определенным количеством цифр ...
select * where zipcode like '[0-9][0-9][0-9][0-9][0-9]'
Я мог бы написать пользовательскую функцию, которая пытается преобразовать параметр varchar в int в блоке try / catch, но я проверяю сообщество, чтобы узнать, сталкивался ли кто-нибудь с любыми подходящими методами для достижения этой цели - предпочтительно тот, который может использоваться в предложении where инструкции SQL без создания других объектов.