In Sql Server how can you Truncate decimal places

We are trying to find a way to truncate (i.e. drop all the extra decimal places) in SQL Server. We do not want to have the number rounded at all just truncated as is.
For example:

declare @variable decimal(18,2)

set @variable = 123.456

This will cause the value stored in @variable to be 123.46 (the rounded variable). However this is not what we want. We want the value to be stored as 123.45. Is there an efficient way to remove the decimal places that I do not need in SQL SERVER?