Notice where this script breaks. It's not a "glitch" in SQL Server 2000.USE NorthwindGOIF EXISTS(SELECT name FROM sysobjects WHERE name = 'test_numeric_conversion' AND xtype = 'U')BEGIN DROP TABLE test_numeric_conversionENDCREATE TABLE test_numeric_conversion(col1 VARCHAR(55))INSERT test_numeric_conversion(col1) SELECT '0001' UNION ALL SELECT '123414' UNION ALL SELECT '01.12398' UNION ALL SELECT '1.109481' UNION ALL SELECT '4387198173' UNION ALL SELECT '438,719,817.3' UNION ALL SELECT '' UNION ALL SELECT NULLSELECT col1, ISNUMERIC(col1) FROM test_numeric_conversionGODELETE test_numeric_conversion WHERE ISNUMERIC(col1) = 0GOALTER TABLE test_numeric_conversion ALTER COLUMN col1 NUMERICGOSELECT col1, ISNUMERIC(col1) FROM test_numeric_conversionGO
If you do this:USE NorthwindGOIF EXISTS(SELECT name FROM sysobjects WHERE name = 'test_numeric_conversion' AND xtype = 'U')BEGIN DROP TABLE test_numeric_conversionENDCREATE TABLE test_numeric_conversion(col1 VARCHAR(55))INSERT test_numeric_conversion(col1) SELECT '0001' UNION ALL SELECT '123414' UNION ALL SELECT '01.12398' UNION ALL SELECT '1.109481' UNION ALL SELECT '4387198173' UNION ALL SELECT '438,719,817.3' UNION ALL SELECT '' UNION ALL SELECT NULLSELECT col1, ISNUMERIC(col1) FROM test_numeric_conversionGODELETE test_numeric_conversion WHERE ISNUMERIC(col1) = 0GOSELECT col1, REPLACE(col1,',','') FROM test_numeric_conversionGOUPDATE test_numeric_conversionSET col1 = REPLACE(col1,',','')GOSELECT col1 FROM test_numeric_conversionGOALTER TABLE test_numeric_conversion ALTER COLUMN col1 NUMERICGOSELECT col1, ISNUMERIC(col1) FROM test_numeric_conversionGO
then it will work. Having said that, are you sure you want to convert to numeric. Pay real close attention to what's happening here.MeanOldDBAderrickleggett@hotmail.comWhen life gives you a lemon, fire the DBA.