我需要比较两列,两者都具有SYSDATE的值,但这个如何平衡两个表的两列,均具有SYSDATE的值
select count(*) from (
(select col from tab1)
minus
(select col from tab2)) --
给出1,但我希望它是0
让我进一步明确:
create table tab1 (col date)
-- Can the datatype of `col` be something else
-- rather than `date` so that when `SYSDATE`
-- gets inserted to it, I get only `10-MAY-17`
-- rather than the date along with time?
-- I have control on this create statement,
-- I can create the table as I wish to.
insert into tab1 values (sysdate)
-- I have no control on this,
-- this is system generated .
create table tab2 (col date)
-- I have control on it.
-- I can modify it.
insert into tab2(col) values (sysdate)
-- I have control on it to change it
请让我知道,如果问题仍不清楚。 谢谢
您使用的是什么SQL后端?并非每个SQL实现都支持MINUS运算符。甲骨文我知道,但SQL Server,PostgreSQL和SQLite使用EXCEPT运算符。 – ShaneNal
你不清楚。数据类型与什么有什么关系?希望这两列有DATE数据类型,不应该改变。这里有什么问题? SYSDATE被插入到tab1中,并且应该在tab2中插入相同的值,但是它不同,因为SYSDATE稍后被称为秒的小数部分?不要将SYSDATE插入到tab2中,请从tab1插入值。 – mathguy
@ShaneNal - 您是否有特别的理由相信OP对帖子进行了错误标记?我看到Oracle和PLSQL,以及我认为特定于Oracle的名称SYSDATE。为什么怀疑? – mathguy