Более обобщенным подходом может быть слияние PARSENAME и% operator. (как ответили в двух из ответов выше)
Результаты согласно 1-му подходу, описанному выше SQLMenace
select PARSENAME(0.001,1)
Результат: 001
select PARSENAME(0.0010,1)
Результат: 0010
select PARSENAME(-0.001,1)
Результат: 001
select PARSENAME(-1,1)
Результат: -1 -> Не должен возвращать целочисленную часть
select PARSENAME(0,1)
Результат: 0
select PARSENAME(1,1)
Результат: 1 -> Не должен возвращать целую часть
select PARSENAME(100.00,1)
Результат: 00
Результаты по 1-му заходу выше Павла Моршенюка
«0» является частью результата в этом случае.
SELECT (100.0001 % 1)
Результат: 0,0001
SELECT (100.0010 % 1)
Результат: 0,0010
SELECT (0.0001 % 1)
Результат: 0,0001
SELECT (0001 % 1)
Результат: 0
SELECT (1 % 1)
Результат: 0
SELECT (100 % 1)
Результат: 0
Сочетание обоих:
SELECT PARSENAME((100.0001 % 1),1)
Результат: 0001
SELECT PARSENAME((100.0010 % 1),1)
Результат: 0010
SELECT PARSENAME((0.0001 % 1),1)
Результат: 0001
SELECT PARSENAME((0001 % 1),1)
Результат: 0
SELECT PARSENAME((1 % 1),1)
Результат: 0
SELECT PARSENAME((100 % 1),1)
Результат: 0
Но все еще остается одна проблема - это ноль после того, как ненулевые числа являются частью результата (пример: 0,0010 -> 0010). Может быть, придется применить какую-то другую логику, чтобы удалить это.