sql - 在 SQL Server 和 Oracle 中获取今天日期的兼容语法

标签 sql sql-server oracle date

我如何编写以下内容以便它同时适用于 SQL Server 和 Oracle(也就是说,无需注释或取消注释,具体取决于环境):

SELECT col1, col2
FROM table
WHERE -- anytime today
    -- date_requested = TRUNC(SYSDATE) -- Oracle
    date_requested = CONVERT(date, GETDATE()) -- SQL Server

我需要比较date_requested与今天的日期(没有时间)。

最佳答案

在oracle中创建一个函数getDate:

create or replace function getDate
return date is

  l_sysdate date;

begin

  select sysdate
    into l_sysdate
    from dual;

  return l_sysdate;

end;
/

你可以这样使用它:select getdate() from dual

关于sql - 在 SQL Server 和 Oracle 中获取今天日期的兼容语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36173308/

相关文章:

sql - 如何在oracle sql中找到<N>个连续的销售奖金

sql - 选择日期小于今天的行

c# - 哪一种是在 SQL Server 中复制数据库的最佳方法?

java - sql jdbc getgeneratedkeys 返回列 "id"未找到,列类型未知

sql-server - 将 SQL Server 中的登录名和 IP 地址列入白名单

.net - 来自带有事务的 dotnet 的 SQL 脚本

SQL 组结果作为列数组

MySQL 转换为 TINYINT

sql - 从 msdb.dbo.sysjobhistory 获取最近 24 小时的作业记录

python - 尽管 TNS_ADMIN 路径正确,Oracle Instant Client 在基于 Ubuntu 的代理上仍失败