首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果Oracle date = SQL date

如果Oracle date = SQL date
EN

Stack Overflow用户
提问于 2013-07-20 04:07:22
回答 2查看 177关注 0票数 0

我有两个数据库;一个Oracle数据库和一个SQL数据库。它们都有一个名为person的表,person包含一个名为have both的字段。我已经将Oracle date加载到SQL (rs)中,并将VB6 date加载到VB6 ADODB Recordset (rs2)中。有关人士的出生日期为:1981年1月11日。以下语句返回false:

代码语言:javascript
复制
If rs("DateOfBirth") = rs2("DateOfbirth") then
   return true
else
   return false
end if

以下返回TRUE (正确):

代码语言:javascript
复制
If datevalue(rs("DateOfBirth")) = datevalue(rs2("DateOfbirth")) then
       return true
    else
       return false
    end if

当出生日期相等时,为什么它在第一个返回FALSE?

请让我知道,如果我没有张贴足够的代码,我会添加更多。

EN

回答 2

Stack Overflow用户

发布于 2013-07-20 04:13:19

看起来您正在将每个日期转换为日期,这将比较日期的值,而不是日期的字符串。默认情况下,Oracle SQL将日期存储为'DD-MON-YYYY',而SQL Server以us_en格式将它们存储为'DD/MM/YYYY :mm:ss‘。

票数 0
EN

Stack Overflow用户

发布于 2013-07-31 20:38:14

因此,假设您在vb6代码中为rs和rs2记录集创建SQL,则可以使用转义序列编写查询,并规范化日期格式,以便比较按预期工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17754627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档