Paradox:将Date列+ Time列查询为DateTime

时间:2009-06-25 19:55:35

标签: paradox

首先,我是一个悖论的新手。
其次,我正在查询第三方软件包的数据库,无法更改架构。

我有两个名为“Date”和“Time”的字段,我想将其作为DateTime查询(来自我的MS SQL体验)。

这可能吗?

我尝试了几个查询,当命令有效时,我得到“条件表达式中的数据类型不匹配”。

此外,如果这有任何不同,这将来自大约1999-2000的Paradox数据库。

编辑:即使是字段的简单字符串连接也会有很大的帮助,因为我可以在代码中处理它。

编辑:回应a.i.breveleri的回答。我收到这条消息:

  

错误[42000] [微软] [ODBC悖论   驱动程序]语法错误(丢失   operator)在查询表达式中   'CAST(m.DateComplete AS TIMESTAMP) -                 CAST([1/1/3000] AS TIMESTAMP)+                 CAST(m.TimeComplete AS TIMESTAMP)'。

当我运行此查询时:

select distinct 
  CAST(m.DateComplete AS TIMESTAMP) - 
  CAST("1/1/3000" AS TIMESTAMP) + 
  CAST(m.TimeComplete AS TIMESTAMP)
from Mean m 

2 个答案:

答案 0 :(得分:1)

 SELECT CAST(f.DateColumn AS VARCHAR(20)) + ' ' + CAST(f.TimeColumn AS VARCHAR(20)) 
 FROM Foo f

它为你提供串联字符串。

 SELECT CAST(CAST(f.DateColumn AS VARCHAR(20)) + ' ' + CAST(f.TimeColumn AS VARCHAR(20)) AS TIMESTAMP) As FooTime
 FROM Foo f

为您提供合并时间。

答案 1 :(得分:1)

QBE查询:

Query
ANSWER: :PRIV:ANSWER.DB

test.db | Date | Time                         | 
        | _x   | _y, calc _x+_y as "DateTime" | 

EndQuery

SQL查询:

SELECT DISTINCT
    CAST(D0."Date" AS TIMESTAMP) -
    CAST("1/1/3000" AS TIMESTAMP) +
    CAST(D0."Time" AS TIMESTAMP)
FROM 
    "test.db" D0

-Al。