Я использую SQL Server 2008 R2 и столбец VARCHAR
, который я хочу преобразовать в DECIMAL(28,10)
, используя CONVERT
. Но многие из этих строк плохо отформатированы, поэтому их невозможно разобрать на число. В этом случае я просто хочу пропустить их, установив результат в 0 или NULL.
Я знаю, что в SQL Server 2012 есть новый оператор (TRY_CONVERT()
).
Возможно ли это в 2008 году или я должен подождать, пока мы не перейдем к следующей версии SQL 2012?
ИЗМЕНИТЬ
К сожалению, ISNUMERIC()
в этом случае не является надежным.
Я попробовал
ISNUMERIC(myCol) = 1
Это возвращает true для строк, которые CONVERT
не может преобразовать в DECIMAL
.