Round decimal to nearest .25

Is there a way to round a decimal to nearest .25%?

Example

Select 3.6333  would return 3.75 and
3.6222 would return  3.50
HomerTNachoCheese

multiply by 4, round to nearest whole number, divide by 4.
HomerTNachoCheese

membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Or, one other alternative:

floor((value + 0.12) / 0.25) * 0.25

select value, floor((value + 0.12) / 0.25) * 0.25 as rounded_value
from (
select 3.6333 as value union all --would return 3.75
select 3.6222 --would return  3.50
) as data
Scott - I think you may be slightly off.  3.63 would be the point where your number begins to round up to 3.75, but it should start rounding up at 3.625.

The alternative would be floor((value + 0.125) / 0.25) * 0.25

I am using the floor function in another program to test, but I do think it should be 0.125, not 0.12.
OK, 0.125 makes sense.

I was trying to find a method where you could round at any value, such as .15, rather than using something like "* 4", where it requires having an even multiple and re-calculating the multiplier.