In 9i, use the CAST function:

SQL> select trunc(cast (systimestamp as date),'month') from dual;

TRUNC(CAS
---------
01-AUG-04


In 10g you can use trunc with timestamp:

SQL> select trunc(systimestamp,'month') from dual;

TRUNC(SYS
---------
01-AUG-04