Question: Let's look at the following sql query: `SELECT SYSDATE - 0 ParamDateTmp FROM Dual`. I understand that `ParamDateTmp` is just an alias and that `Dual` is a special Oracle table. But I can't understand what result is expected with `SYSDATE - 0`?

Thanks!

Answer: 
SYSDATE - 0 will give you the current date only.

SYSDATE - n will subtract n day's from current date.
According to the [Datatypes - Datetime/Interval Arithmetic](http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#i48042) reference documentation, the result type of `DATE +/- Numeric` is a `DATE`. So `SYSDATE - 0` is equivalent to `SYSDATE` (in value and type). There is no conversion or other magic going on there - the expected result of `SYDATE - 0` is `SYSDATE`.