sysdate is not data stored on disk, it is a special psuedo column, a statement level deterministic function - it is not a date coming from a table, it is a thing returned by a statement level deterministic function.
It has an entirely different datatype marker, they are not the same. Look at the values even:
ops$tkyte%ORA11GR2> select dump(sysdate,16), dump(x,16) from t;
DUMP(SYSDATE,16)
-------------------------------------------------------------------------------
DUMP(X,16)
-------------------------------------------------------------------------------
Typ=13 Len=8: dc, 7,1,4,10,22,1e,0
Typ=12 Len=7: 78,70,1,4,11,23,1f
that is century, year, month, day, hour, minute, second, <extra for sysdate>.
Note how the century, year are encoded differently.
As are the hour/minute and probably seconds.
they are just different.
which is basically what I said originally. sysdate isn't a date from disk. a date from disk isn't sysdate. A sysdate can be assigned to a date, but sysdate itself isn't a date stored on disk.