Oracle Sql-将天添加到timestamp类型的变量

Oracle Sql-将天添加到timestamp类型的变量,oracle,oracle11g,oracle-sqldeveloper,Oracle,Oracle11g,Oracle Sqldeveloper,我有一个类型为“timestamp”的变量“mydate”,我想将其与“record_date”(数据库列)进行比较 我的查询是获取mydate=record\u date的记录,但我的查询(record\u date=:mydate)只给出record\u date类似于'06/10/13 12:00:00.000000000 AM'的结果。如果记录日期有一些不同的hh:mm:ss值,如'06/10/13 02:23:32.000000000 AM',则相等运算符不会给出任何输出 record

我有一个类型为“timestamp”的变量“mydate”,我想将其与“record_date”(数据库列)进行比较

我的查询是获取mydate=record\u date的记录,但我的查询(record\u date=:mydate)只给出record\u date类似于'06/10/13 12:00:00.000000000 AM'的结果。如果记录日期有一些不同的hh:mm:ss值,如'06/10/13 02:23:32.000000000 AM',则相等运算符不会给出任何输出

record_date>=:mydate有效,但它也会为大于6的日期(即7)提供输出,依此类推

如何写出这样的比较
记录日期>=:mydate和记录日期使用以下查询可以解决上述问题

TO_CHAR(RECORD_DATE, ''DD-MON-YYYY'') = TO_CHAR(:MYDATE, ''DD-MON-YYYY'')

使用下面的查询可以解决上述问题

TO_CHAR(RECORD_DATE, ''DD-MON-YYYY'') = TO_CHAR(:MYDATE, ''DD-MON-YYYY'')

你基本上是对的……不过,上面的问题看起来像是在问一个日期范围……因为显然有不止一种方法可以编写查询,所以你可以在a=b的地方编写,也可以在a>b-1和a
但是,如果您需要查看一个日期是否大于另一个日期,您只需进行一个小的编辑,因为当前它将首先查看dd,然后是mm,最后是去年…这不会给您正确的结果,因此您可以将日期顺序更改为yyyy-mm-dd:)

您基本上是正确的…尽管上面的问题,看起来您是在询问日期范围……因为显然有多种方法可以编写查询,所以您可以在a=b处编写,也可以在a>b-1和a
但是,如果您需要查看一个日期是否大于另一个日期,您只需进行一次小的编辑,因为当前它会先查看dd,然后查看mm,最后查看去年…这不会给出正确的结果,因此您可以将日期顺序更改为yyyy-mm-dd:)

使用TRUC函数。使用TRUC函数。