Select numbers with more than 4 decimal places

DECLARE @tbl TABLE (val float)
INSERT INTO @tbl SELECT 1234.567
INSERT INTO @tbl SELECT 1234.5678
INSERT INTO @tbl SELECT -1234.5678
INSERT INTO @tbl SELECT 1234.56789

SELECT *
from @tbl
where (((val*10000) - CONVERT(INT,(val*10000))) <> 0)

Why cant we make it simple by this query:-

SELECT * FROM table WHERE val LIKE '%.____%'

This selects what we want


Another solution also:

SELECT * from table
where (round(value,2) - round(value,4) <> 0)

Given answers did not work for me with MaxDb, but this did:

where FLOOR(value * 10000) != value * 10000

Source

Reduce/Increase 0`s for less/more precision.