depending on the value of the first parameter, datediff() will always return the different in value based on the first parameter.Exmaple as you have already found out, datediff(month, '2011-04-30 00:20', '2011-05-01 00:50') will give you 1
so if the accuracy you required is in hour, then datediff(hour, '2011-04-30 00:20', '2011-05-01 00:50') will give you 24
or if you want it in hour but with decimaldatediff(minute, '2011-04-30 00:20', '2011-05-01 00:50') / 60.0
You may also want to read this articlehttp://www.sqlteam.com/article/datediff-function-demystified
KH[spoiler]Time is always against us[/spoiler]