14.5.24

Conversion and Arithmetic Errors

Craig Freedman's SQL Server Blog

https://learn.microsoft.com/en-us/archive/blogs/craigfr/conversion-and-arithmetic-errors

Давайте посмотрим на простой запрос:

CREATE TABLE T1 (A INT, B CHAR(8))
INSERT T1 VALUES (0, '0')
INSERT T1 VALUES (1, '1')
INSERT T1 VALUES (99, 'Error')
SELECT T1.A, CONVERT(INT, T1.B) AS B_INT FROM T1

Невозможно преобразовать строку «Error» в целое число, поэтому неудивительно, что этот запрос завершается ошибкой преобразования:

A           B_INT
----------- -----------
1           1

Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value 'Error   ' to data type int.