我已经在互联网上搜索了当你加密一个空值并解密它时发生的事情。
到目前为止,在我的实验中。在我的表中,我有一列是时间戳。我有几行数据,在这几行中,我混合了适当的时间戳和空值。
我试过这个:
select count(*) from mytable where key = 'currLoginTime' and
to_timestamp(clob_substr(decrypt(value,?), 19, 1), 'YYYY-MM-DD HH24:MI:SS') > ?
第一个参数是我的私钥,第二个参数是我要比较的日期。
我不断收到以下异常:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0;
nested exception is java.sql.SQLDataException: ORA-01841: (full) year must be
between -4713 and +9999, and not be 0
我猜原来的空值被解密为0。有人可以确认或阐明这一点吗?我真的很难过。