SELECT * FROM YourTableWHERE ISNUMERIC(YourColumn)=0
Where Column NOT LIKE '%[^0-9]%'
DECLARE @TMP TABLE (COl1 VARCHAR(100))INSERT INTO @tmpSELECT '1' UNION ALLSELECT '1111111111111111111111' SELECT CAST(col1 as decimal(12,7))FROM @tmp
CHARINDEX('.',col1) > 6 OR (CHARINDEX('.',col1) = 0 AND LEN(col1) > 5)
DECLARE @TMP TABLE (COl1 VARCHAR(100))INSERT INTO @tmpSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '1' UNION ALLSELECT '92345.1234567' UNION ALLSELECT '12345.12345671' UNION ALLSELECT '123456.1234567' UNION ALLSELECT '111111111111111111111111111111' UNION ALLSELECT '1234567890'SELECT --CAST(col1 as decimal(12,7)) col1FROM @tmpWHERE CHARINDEX('.',col1) > 6 OR (CHARINDEX('.',col1) = 0 AND LEN(col1) > 5)