Integer division in sql server

In Microsoft SQL Server 2005, why do the following commands produce integer results?

SELECT cast(151/6 AS DECIMAL(9,2))
SELECT 151/6

In the first you are getting the result of two integers and then casting the result as DECIMAL(9,2). In the second you're just dividing two integers and that's expected.

If you cast one of the integers as a decimal BEFORE you do the division, you'll get a decimal result.

SELECT 151/CAST(6 AS DECIMAL (9,2))

Yes that is standard behavior

do

SELECT 151/6.0

or

SELECT 151/(CONVERT(DECIMAL(9,2),6))

or

SELECT 151/(6 * 1.0)