为SQL Server和Oracle编写通用SQL以显示日期

时间:2019-05-03 09:06:04

标签: sql sql-server oracle date type-conversion

我必须查询SQL Server和Oracle DB的同一项目。 DBMS依赖于客户端,但是结构完全相同。

例如,我确实希望输出不带“ 00:00:00”部分的日期,这在很长的输出中是沉重且无用的。

当前,我确实必须每次都编辑查询:

SELECT col1, dated_requested_without_time, col3, col4, col5, *
FROM table
WHERE
    date_requested = CONVERT(varchar(10), GETDATE(), 120)
--  date_requested = TRUNC(SYSDATE)

是否有一种聪明的方法可以在两种环境中都可以执行,而无需进行任何编辑?

目标是显示并与今天的日期(YYYY-MM-DD)进行比较...

我确实成功使用了这样的连接

CONCAT(CONCAT(CONCAT(col1, ' '), col2), '.')

代替

col1 + ' ' + col2 + '.'      -- For SQL Server.
col1 || ' ' || col2 || '.'   -- For Oracle.

例如。希望上述日期查询也是如此...

任何成功的帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

怎么样:

select cast(current_timestamp as date)