Most RMDBSs don't allow you to use column aliases within the main body of the immediate SQL statement. Some of them allow it in GROUP BY and HAVING clauses.
You can get around it by using a subquery, but that may cause performance issues. Your best bet is to just repeat the equation.
In case you're interested, the subquery method would look like this:
SELECT
col1,
col2,
col3,
Interval
FROM
(
SELECT
col1,
col2,
col3,
CASE
WHEN CAST(segstart AS FLOAT) - FLOOR(CAST(segstart AS FLOAT)) >=
CAST(@TweleveAM AS FLOAT) - FLOOR(CAST(@TweleveAM AS FLOAT))
THEN CAST(0 AS SMALLINT)
END AS interval
FROM
My_Table
) AS SQ
INNER JOIN New_Table NEW ON
NEW.start_time = SQ.Interval
Another option would be to use a User Defined Function (if you are using MS SQL Server) or any equivalent in your RDBMS. Keep in mind that there could be performance issues there as well, so be sure to test it for performance. It would let you keep the equation all in one place though.